chore: clean up repo structure, remove generated artifacts
- Remove pn-buildlist (generated by 'bitbake -g', documented in guide) - Remove license-compliance.md (outdated, referenced non-existent files) - Remove docs/05-build-artifacts/ (contents are intermediate build products) - Add PDF link to README - All cross-references verified: no broken links
This commit is contained in:
@@ -194,6 +194,15 @@ tar xzf yocto-mirror-tqma6ul.tar.gz -C /srv/yocto/
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Softwarefreigabeantrag (PDF)
|
||||
|
||||
The complete approval document is available as PDF:
|
||||
**[`docs/softwarefreigabe.pdf`](docs/softwarefreigabe.pdf)** (13 pages, LaTeX source: [`docs/softwarefreigabe.tex`](docs/softwarefreigabe.tex))
|
||||
|
||||
Contents: title page, build configuration, complete 264-package license table,
|
||||
proprietary component assessment, military use evaluation, compliance checklist.
|
||||
|
||||
## Complete License & Source Table
|
||||
|
||||
The file [`docs/03-license-analysis/UT-license-table.csv`](docs/03-license-analysis/UT-license-table.csv)
|
||||
|
||||
@@ -1,160 +0,0 @@
|
||||
# License Compliance Documentation
|
||||
|
||||
**Document ID:** LIC-COMP-001
|
||||
**Date:** 2026-03-01
|
||||
**Scope:** Complete license analysis for TQMa6UL Yocto Scarthgap BSP
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This document provides templates and procedures for generating the license compliance table required for software approval.
|
||||
|
||||
## License Categories
|
||||
|
||||
### Approved for Military Use (Generally)
|
||||
|
||||
| License | SPDX ID | Military Use | Notes |
|
||||
|---------|---------|--------------|-------|
|
||||
| MIT | MIT | ✅ Yes | Permissive, no restrictions |
|
||||
| BSD-2-Clause | BSD-2-Clause | ✅ Yes | Permissive |
|
||||
| BSD-3-Clause | BSD-3-Clause | ✅ Yes | Permissive |
|
||||
| Apache-2.0 | Apache-2.0 | ✅ Yes | Patent grant included |
|
||||
| ISC | ISC | ✅ Yes | Permissive |
|
||||
|
||||
### Copyleft (Requires Source Distribution)
|
||||
|
||||
| License | SPDX ID | Military Use | Notes |
|
||||
|---------|---------|--------------|-------|
|
||||
| GPL-2.0-only | GPL-2.0-only | ✅ Yes* | *Must provide source code |
|
||||
| GPL-2.0-or-later | GPL-2.0-or-later | ✅ Yes* | *Must provide source code |
|
||||
| GPL-3.0-only | GPL-3.0-only | ⚠️ Review | Check anti-tivoization clause |
|
||||
| GPL-3.0-or-later | GPL-3.0-or-later | ⚠️ Review | Check anti-tivoization clause |
|
||||
| LGPL-2.1-only | LGPL-2.1-only | ✅ Yes* | *Must provide library source |
|
||||
| LGPL-2.1-or-later | LGPL-2.1-or-later | ✅ Yes* | *Must provide library source |
|
||||
|
||||
### Special Cases
|
||||
|
||||
| License | Military Use | Reason |
|
||||
|---------|--------------|--------|
|
||||
| Proprietary | ❌ No | Closed source, not auditable |
|
||||
| CC-BY-SA | ✅ Yes | Documentation license |
|
||||
| OpenSSL | ✅ Yes | Special license, acceptable |
|
||||
|
||||
## License Table Template
|
||||
|
||||
Download as CSV: [license-table-template.csv](license-table-template.csv)
|
||||
|
||||
| Package Name | Version | License (SPDX) | License File | Source Location | Military Use | Notes |
|
||||
|--------------|---------|----------------|--------------|-----------------|--------------|-------|
|
||||
| linux-yocto | 6.6.y | GPL-2.0-only | COPYING | sources/poky-scarthgap/meta/recipes-kernel/linux/ | ✅ Yes | Kernel with 2038 support |
|
||||
| glibc | 2.39 | LGPL-2.1-or-later | LICENSES | sources/poky-scarthgap/meta/recipes-core/glibc/ | ✅ Yes | 64-bit time_t |
|
||||
| busybox | 1.36.x | GPL-2.0-only | LICENSE | sources/poky-scarthgap/meta/recipes-core/busybox/ | ✅ Yes | Core utilities |
|
||||
| u-boot-tq | 2023.10 | GPL-2.0-or-later | Licenses/ | sources/meta-tq/recipes-bsp/u-boot/ | ✅ Yes | Bootloader |
|
||||
| [Additional packages] | | | | | | |
|
||||
|
||||
## Generating the Complete Table
|
||||
|
||||
### Method 1: Yocto Built-in
|
||||
|
||||
```bash
|
||||
# After successful build
|
||||
cd ${MIRROR_BASE}/build
|
||||
|
||||
# Generate license manifest
|
||||
bitbake core-image-minimal -c do_populate_lic
|
||||
|
||||
# Find license files
|
||||
find tmp/deploy/licenses -name "license.manifest" -o -name "image_license.manifest"
|
||||
|
||||
# Copy for analysis
|
||||
cp -r tmp/deploy/licenses ${MIRROR_BASE}/licenses/
|
||||
```
|
||||
|
||||
### Method 2: Script-Based Extraction
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# generate-license-table.sh
|
||||
|
||||
OUTPUT="license-table.csv"
|
||||
echo "Package,Version,License,Source,MilitaryUse" > $OUTPUT
|
||||
|
||||
cd ${MIRROR_BASE}/build/tmp/deploy/licenses
|
||||
grep -r "LICENSE:" . | while read line; do
|
||||
pkg=$(echo $line | cut -d: -f2)
|
||||
lic=$(echo $line | cut -d: -f3)
|
||||
# Add logic to determine military use
|
||||
echo "$pkg,,$lic,,TBD" >> $OUTPUT
|
||||
done
|
||||
```
|
||||
|
||||
## Manual Review Required
|
||||
|
||||
### Packages to Flag for Review
|
||||
|
||||
1. **Firmware blobs** (WiFi, GPU, VPU)
|
||||
- Location: `linux-firmware`, `firmware-imx`
|
||||
- Often proprietary licenses
|
||||
- May require separate approval
|
||||
|
||||
2. **Cryptographic software**
|
||||
- OpenSSL, gnutls
|
||||
- Check export control classifications
|
||||
|
||||
3. **Graphics drivers**
|
||||
- Vivante GPU drivers (imx-gpu-viv)
|
||||
- Proprietary binary blobs
|
||||
|
||||
4. **Documentation**
|
||||
- CC-BY-SA licensed manuals
|
||||
- Generally acceptable
|
||||
|
||||
## Military Use Approval Criteria
|
||||
|
||||
### Automatic Approval
|
||||
- MIT, BSD, Apache-2.0: ✅ No restrictions
|
||||
- GPL/LGPL: ✅ With source code provision
|
||||
|
||||
### Requires Legal Review
|
||||
- GPL-3.0 with anti-tivoization
|
||||
- Any proprietary license
|
||||
- Custom/TQ-specific licenses
|
||||
|
||||
### Automatic Rejection
|
||||
- No license information
|
||||
- Proprietary binary-only
|
||||
- Export-controlled encryption (without clearance)
|
||||
|
||||
## Example Package Analysis
|
||||
|
||||
### Linux Kernel (linux-yocto)
|
||||
- **License:** GPL-2.0-only
|
||||
- **Military Use:** ✅ Yes
|
||||
- **Requirement:** Must provide complete kernel source
|
||||
- **Status:** Source included in mirror
|
||||
|
||||
### glibc
|
||||
- **License:** LGPL-2.1-or-later
|
||||
- **Military Use:** ✅ Yes
|
||||
- **Requirement:** Must provide library source
|
||||
- **Status:** Source included in mirror
|
||||
|
||||
### imx-gpu-viv (Graphics Driver)
|
||||
- **License:** Proprietary (NXP SLA)
|
||||
- **Military Use:** ⚠️ Review Required
|
||||
- **Action:** Check NXP license terms for military use
|
||||
- **Alternative:** Use open-source etnaviv driver (if available)
|
||||
|
||||
## Deliverables for Approval
|
||||
|
||||
1. **Complete License Table** (CSV format)
|
||||
2. **Source Code Archive** (full mirror)
|
||||
3. **License Texts** (all unique licenses)
|
||||
4. **Compliance Statement** (document)
|
||||
|
||||
---
|
||||
|
||||
**Author:** Siggi ⚙️
|
||||
**Date:** 2026-03-01
|
||||
**Classification:** Internal Use
|
||||
@@ -1,44 +0,0 @@
|
||||
# Build Artifacts
|
||||
|
||||
## pn-buildlist
|
||||
|
||||
Complete list of all 264 BitBake recipes in the `tq-image-small-debug` build graph.
|
||||
|
||||
**Machine:** `tqma6ul-multi-mba6ulx`
|
||||
**Distro:** `spaetzle` (musl)
|
||||
**Yocto:** Scarthgap 5.0.11
|
||||
**BitBake:** 2.8.0
|
||||
|
||||
## Generating fresh artifacts
|
||||
|
||||
```bash
|
||||
cd ci-meta-tq
|
||||
export ACCEPT_FSL_EULA=1
|
||||
export MACHINE=tqma6ul-multi-mba6ulx
|
||||
. ./setup-environment build_ut mainline
|
||||
|
||||
# Generate dependency graph and build list
|
||||
bitbake tq-image-small-debug -g
|
||||
|
||||
# Output files:
|
||||
# - pn-buildlist (recipe list)
|
||||
# - task-depends.dot (full dependency graph, ~1.6MB)
|
||||
```
|
||||
|
||||
## Regenerating the license table
|
||||
|
||||
```bash
|
||||
# For each recipe in pn-buildlist, extract SRC_URI and LICENSE:
|
||||
while IFS= read -r recipe; do
|
||||
output=$(bitbake -e "$recipe" 2>/dev/null)
|
||||
pv=$(echo "$output" | grep '^PV=' | head -1 | sed 's/^PV="//' | sed 's/"$//')
|
||||
license=$(echo "$output" | grep '^LICENSE=' | head -1 | sed 's/^LICENSE="//' | sed 's/"$//')
|
||||
src_uri=$(echo "$output" | grep '^SRC_URI=' | head -1 | sed 's/^SRC_URI="//' | sed 's/"$//')
|
||||
first_url=$(echo "$src_uri" | grep -oP '(https?|ftp|git)://[^\s]+' | head -1 | sed 's/;.*//')
|
||||
echo "\"$recipe\",\"$pv\",\"$license\",\"$first_url\""
|
||||
done < pn-buildlist > license-table.csv
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Generated:** 2026-03-01
|
||||
@@ -1,264 +0,0 @@
|
||||
tq-image-small-debug
|
||||
quilt-native
|
||||
patch-native
|
||||
pseudo-native
|
||||
linux-tq
|
||||
xz-native
|
||||
cross-localedef-native
|
||||
qemuwrapper-cross
|
||||
makedevs-native
|
||||
opkg-utils-native
|
||||
update-rc.d-native
|
||||
rpm-native
|
||||
dnf-native
|
||||
createrepo-c-native
|
||||
bmaptool-native
|
||||
pigz-native
|
||||
u-boot-tq
|
||||
parted-native
|
||||
gptfdisk-native
|
||||
dosfstools-native
|
||||
mtools-native
|
||||
mtd-utils-native
|
||||
binutils-cross-arm
|
||||
syslinux-native
|
||||
btrfs-tools-native
|
||||
erofs-utils-native
|
||||
cdrtools-native
|
||||
e2fsprogs-native
|
||||
depmodwrapper-cross
|
||||
squashfs-tools-native
|
||||
packagegroup-core-boot
|
||||
packagegroup-base
|
||||
packagegroup-hwutils
|
||||
packagegroup-fsutils
|
||||
packagegroup-netutils
|
||||
packagegroup-sysutils
|
||||
packagegroup-can
|
||||
run-postinsts
|
||||
packagegroup-core-ssh-dropbear
|
||||
python3-native
|
||||
python3-setuptools-native
|
||||
python3-six-native
|
||||
coreutils-native
|
||||
libtool-native
|
||||
autoconf-native
|
||||
automake-native
|
||||
attr-native
|
||||
pkgconfig-native
|
||||
sqlite3-native
|
||||
dwarfsrcfiles-native
|
||||
kmod-native
|
||||
kern-tools-native
|
||||
gcc-cross-arm
|
||||
bc-native
|
||||
bison-native
|
||||
ncurses-native
|
||||
lzop-native
|
||||
openssl-native
|
||||
gettext-minimal-native
|
||||
qemu-native
|
||||
perl-native
|
||||
lua-native
|
||||
popt-native
|
||||
libgcrypt-native
|
||||
zstd-native
|
||||
file-native
|
||||
bzip2-native
|
||||
cmake-native
|
||||
elfutils-native
|
||||
ninja-native
|
||||
libcomps-native
|
||||
libdnf-native
|
||||
librepo-native
|
||||
zlib-native
|
||||
libxml2-native
|
||||
expat-native
|
||||
glib-2.0-native
|
||||
curl-native
|
||||
python3-installer-native
|
||||
python3-build-native
|
||||
python3-wheel-native
|
||||
gcc-runtime
|
||||
dtc-native
|
||||
musl
|
||||
swig-native
|
||||
util-linux-native
|
||||
texinfo-dummy-native
|
||||
readline-native
|
||||
lzo-native
|
||||
acl-native
|
||||
gnu-config-native
|
||||
flex-native
|
||||
nasm-native
|
||||
util-linux-libuuid-native
|
||||
lz4-native
|
||||
autoconf-archive-native
|
||||
update-rc.d
|
||||
initscripts
|
||||
ncurses
|
||||
zlib
|
||||
libedit-native
|
||||
libffi-native
|
||||
libnsl2-native
|
||||
gdbm-native
|
||||
libtirpc-native
|
||||
python3-flit-core-native
|
||||
gettext-native
|
||||
debianutils-native
|
||||
libgcc
|
||||
bsd-headers
|
||||
busybox
|
||||
opkg-utils
|
||||
base-files
|
||||
base-passwd
|
||||
init-ifupdown
|
||||
eudev
|
||||
netbase
|
||||
modutils-initscripts
|
||||
linux-firmware
|
||||
zstd
|
||||
tq-udev-rules
|
||||
e2fsprogs
|
||||
lrzsz
|
||||
alsa-utils
|
||||
u-boot-env-tq
|
||||
os-release
|
||||
setserial
|
||||
usbutils
|
||||
firmware-imx
|
||||
kmod
|
||||
udev-rules-imx
|
||||
alsa-state
|
||||
dosfstools
|
||||
hdparm
|
||||
usb-modeswitch-data
|
||||
uhubctl
|
||||
minicom
|
||||
lmsensors
|
||||
mmc-utils
|
||||
i2c-tools
|
||||
spitools
|
||||
libgpiod
|
||||
screen
|
||||
usb-modeswitch
|
||||
mtd-utils
|
||||
parted
|
||||
iperf2
|
||||
ethtool
|
||||
iproute2
|
||||
iperf3
|
||||
libubootenv
|
||||
cpupower
|
||||
procps
|
||||
cpufrequtils
|
||||
linuxptp
|
||||
rng-tools
|
||||
can-utils
|
||||
util-linux
|
||||
openssh
|
||||
dropbear
|
||||
m4-native
|
||||
python3-pyproject-hooks-native
|
||||
python3-packaging-native
|
||||
libssp-nonshared
|
||||
linux-libc-headers
|
||||
init-system-helpers
|
||||
gmp-native
|
||||
gtk-doc-native
|
||||
git-native
|
||||
gcc-source-13.4.0
|
||||
libmpc-native
|
||||
mpfr-native
|
||||
meson-native
|
||||
gperf-native
|
||||
make-native
|
||||
perlcross-native
|
||||
libgpg-error-native
|
||||
libcap-native
|
||||
lzlib-native
|
||||
libmicrohttpd-native
|
||||
libarchive-native
|
||||
re2c-native
|
||||
json-c-native
|
||||
gobject-introspection-native
|
||||
libcheck-native
|
||||
libsolv-native
|
||||
libmodulemd-native
|
||||
gpgme-native
|
||||
libpcre2-native
|
||||
libgcc-initial
|
||||
libcap-ng-native
|
||||
groff-native
|
||||
libtool-cross
|
||||
unzip-native
|
||||
figlet-native
|
||||
attr
|
||||
alsa-lib
|
||||
libsamplerate0
|
||||
fftw
|
||||
libusb1
|
||||
openssl
|
||||
bash-completion
|
||||
xz
|
||||
tcl-native
|
||||
lzo
|
||||
readline
|
||||
libmnl
|
||||
elfutils
|
||||
libcap
|
||||
iptables
|
||||
libyaml
|
||||
pciutils
|
||||
libjitterentropy
|
||||
argp-standalone
|
||||
libsocketcan
|
||||
libcap-ng
|
||||
util-linux-libuuid
|
||||
shadow-native
|
||||
shadow-sysroot
|
||||
shadow
|
||||
rsync-native
|
||||
unifdef-native
|
||||
busybox-inittab
|
||||
bash
|
||||
firmware-nxp-wifi
|
||||
python3
|
||||
gawk
|
||||
coreutils
|
||||
lmsensors-config
|
||||
perl
|
||||
tcl
|
||||
alsa-ucm-conf
|
||||
alsa-topology-conf
|
||||
shadow-securetty
|
||||
ca-certificates-native
|
||||
gnutls-native
|
||||
libyaml-native
|
||||
libassuan-native
|
||||
bzip2
|
||||
libsndfile1
|
||||
fts
|
||||
musl-obstack
|
||||
musl-legacy-error
|
||||
libbsd-native
|
||||
libffi
|
||||
libedit
|
||||
libtirpc
|
||||
sqlite3
|
||||
expat
|
||||
libnsl2
|
||||
gdbm
|
||||
gmp
|
||||
ttyrun
|
||||
ca-certificates
|
||||
acl
|
||||
findutils
|
||||
libunistring-native
|
||||
libtasn1-native
|
||||
nettle-native
|
||||
libidn2-native
|
||||
libogg
|
||||
flac
|
||||
libvorbis
|
||||
libmd-native
|
||||
Reference in New Issue
Block a user