Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

edgeai-apps-utils: add support to build edgeai-apps-utils package #21

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions edgeai-apps-utils/suite/bookworm/debian/README.Debian
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
This package installs to two locations:

1. the .so file is installed in /usr/lib/
2. the includes are installed in /usr/include/edgeai-apps-utils/

Further, the entire source code is cloned in /opt/.
5 changes: 5 additions & 0 deletions edgeai-apps-utils/suite/bookworm/debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
edgeai-apps-utils (0.1+git20240205+8e84be376-1) bookworm; urgency=low

* Initial release.

-- Suhaas Joshi <[email protected]> Wed, 14 Feb 2024 05:49:56 +0000
26 changes: 26 additions & 0 deletions edgeai-apps-utils/suite/bookworm/debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Source: edgeai-apps-utils
Section: libs
Priority: optional
Maintainer: Suhaas Joshi <[email protected]>
Build-Depends: cmake, debhelper-compat (= 13)
Standards-Version: 4.5.1
Homepage: https://git.ti.com/cgit/edgeai/edgeai-apps-utils
Rules-Requires-Root: no

Package: libedgeai-apps-utils
Section: libs
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: EdgeAI Apps Utils
EdgeAI Apps Utils implements ARMv8 neon optimized utility functions
and also NV12 post process utility functions.

Package: libedgeai-apps-utils-dev
Section: libdevel
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends} libedgeai-apps-utils
Description: EdgeAI Apps Utils
EdgeAI Apps Utils implements ARMv8 neon optimized utility functions
and also NV12 post process utility functions.
.
This package contains development files for libedgeai-apps-utils.
63 changes: 63 additions & 0 deletions edgeai-apps-utils/suite/bookworm/debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: edgeai-apps-utils
Upstream-Contact: Texas Instruments
Source: https://git.ti.com/cgit/edgeai/edgeai-apps-utils

Files: *
Copyright: 2023 Texas Instruments Incorporated
License: BSD-3-Clause
not granted herein.
.
Limited License.
.
Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
license under copyrights and patents it now or hereafter owns or controls to make,
have made, use, import, offer to sell and sell ("Utilize") this software subject to the
terms herein. With respect to the foregoing patent license, such license is granted
solely to the extent that any such patent is necessary to Utilize the software alone.
The patent license shall not apply to any combinations which include this software,
other than combinations with devices manufactured by or for TI ("TI Devices").
No hardware patent is licensed hereunder.
.
Redistributions must preserve existing copyright notices and reproduce this license
(including the above copyright notice and the disclaimer and (if applicable) source
code license limitations below) in the documentation and/or other materials provided
with the distribution
.
Redistribution and use in binary form, without modification, are permitted provided
that the following conditions are met:
.
* No reverse engineering, decompilation, or disassembly of this software is
permitted with respect to any software provided in binary form.
.
* any redistribution and use are licensed by TI for use only with TI Devices.
.
* Nothing shall obligate TI to provide you with source code for the software
licensed and provided to you in object code.
.
If software source code is provided to you, modification and redistribution of the
source code are permitted provided that the following conditions are met:
.
* any redistribution and use of the source code, including any resulting derivative
works, are licensed by TI for use only with TI Devices.
.
* any redistribution and use of any object code compiled from the source code
and any resulting derivative works, are licensed by TI for use only with TI Devices.
.
Neither the name of Texas Instruments Incorporated nor the names of its suppliers
.
may be used to endorse or promote products derived from this software without
specific prior written permission.
.
DISCLAIMER.
.
THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
usr/include/* /usr/include
usr/lib/*.so /usr/lib
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
initial-upload-closes-no-bugs
truetype-font-prohibits-installable-embedding
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/*.so.* /usr/lib
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
initial-upload-closes-no-bugs
package-name-doesnt-match-sonames
6 changes: 6 additions & 0 deletions edgeai-apps-utils/suite/bookworm/debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/make -f

export SOC=am62x
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So here is a problem, for some reason they made part of this program SoC specific, instead of just doing runtime detection of the platform. This means they need a different binary compiled for each and every SoC. And you would then need a different package for each supported SoC. That is bad software design. They might get away with it in Yocto where the whole system is rebuild for a given machine, but not normal distros.

Let's fix this at the source, go let the edgeai-apps-utils folks know this won't work. They need fix their compile-time hard-coding and instead do runtime detection, just like we do in k3conf. They can use that as an example even.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense.
I talked to the edgeai team. They have agreed to do it, but they said that it will require some work. They said that it may not be possible in the near-future, but they'll try to squeeze it in 9.2 release.


%:
dh $@
1 change: 1 addition & 0 deletions edgeai-apps-utils/suite/bookworm/debian/source/format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0 (quilt)
6 changes: 6 additions & 0 deletions edgeai-apps-utils/version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

export git_repo="https://git.ti.com/git/edgeai/edgeai-apps-utils.git"
export custom_build=false
export require_root=true
export last_tested_commit="8e84be376afb7fdb8aa16d9d048fa068f9837fa2"