Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
SUMMARY = "Architecture-dependent configuration for opkg"
HOMEPAGE = "https://git.yoctoproject.org/opkg/"
LICENSE = "MIT"
PACKAGE_ARCH = "${MACHINE_ARCH}"
S = "${WORKDIR}"
do_compile() {
mkdir -p ${S}/${sysconfdir}/opkg/
archconf=${S}/${sysconfdir}/opkg/arch.conf
rm -f $archconf
ipkgarchs="${ALL_MULTILIB_PACKAGE_ARCHS}"
priority=1
for arch in $ipkgarchs; do
echo "arch $arch $priority" >> $archconf
priority=$(expr $priority + 5)
done
}
do_install () {
install -d ${D}${sysconfdir}/opkg
install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
}
FILES:${PN} = "${sysconfdir}/opkg/ "
CONFFILES:${PN} += "${sysconfdir}/opkg/arch.conf"
RREPLACES:${PN} = "opkg-config-base"
RCONFLICTS:${PN} = "opkg-config-base"
RPROVIDES:${PN} = "opkg-config-base"

View File

@@ -0,0 +1,43 @@
SUMMARY = "Keyrings for verifying opkg packages and feeds"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
# Distro-specific keys can be added to this package in two ways:
#
# 1) In a .bbappend, add .gpg and/or .asc files to SRC_URI and install them to
# ${D}${datadir}/opkg/keyrings/ in a do_install:append function. These
# files should not be named 'key-$name.gpg' to ensure they don't conflict
# with keys exported as per (2).
#
# 2) In a .bbappend, distro config or local.conf, override the variable
# OPKG_KEYRING_KEYS to contain a space-separated list of key names. For
# each name, 'gpg --export $name' will be ran to export the public key to a
# file named 'key-$name.gpg'. The public key must therefore be in the gpg
# keyrings on the build machine.
OPKG_KEYRING_KEYS ?= ""
do_compile() {
for name in ${OPKG_KEYRING_KEYS}; do
gpg --export ${name} > ${B}/key-${name}.gpg
done
}
do_install () {
install -d ${D}${datadir}/opkg/keyrings/
for name in ${OPKG_KEYRING_KEYS}; do
install -m 0644 ${B}/key-${name}.gpg ${D}${datadir}/opkg/keyrings/
done
}
FILES:${PN} = "${datadir}/opkg/keyrings"
# We need 'opkg-key' to run the postinst script
RDEPENDS:${PN} = "opkg"
pkg_postinst_ontarget:${PN} () {
if test -x ${bindir}/opkg-key
then
${bindir}/opkg-key populate
fi
}

View File

@@ -0,0 +1,62 @@
From 7a1c13a48cf020c40dda1721d5c2ffd95e8e669a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 10 Dec 2023 19:39:29 -0800
Subject: [PATCH v2] libopkg: Use libgen.h to provide basename API
Also ensure that copy of filename is passed into archive_entry_set_pathname
so it can be operated upon by posix basename which expect non-const
character pointer as input.
This became evident with latest musl where basename declaration was
dropped from string.h [1]
[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
Upstream-Status: Backport [74fc3a991f974095644897d18d43846b5f359dae]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
v2: Do not override basename wholesale
libopkg/opkg_archive.c | 6 ++++--
libopkg/opkg_remove.c | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/libopkg/opkg_archive.c b/libopkg/opkg_archive.c
index 03a4afb..b099f5b 100644
--- a/libopkg/opkg_archive.c
+++ b/libopkg/opkg_archive.c
@@ -20,6 +20,7 @@
#include <archive.h>
#include <archive_entry.h>
+#include <libgen.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -797,8 +798,9 @@ int gz_write_archive(const char *filename, const char *gz_filename)
}
/* Remove path hierarchy, as we are only compressing a single file */
- archive_entry_set_pathname(entry, basename(filename));
-
+ char* tmp = xstrdup(filename);
+ archive_entry_set_pathname(entry, basename(tmp));
+ free(tmp);
r = archive_write_header(a, entry);
if (r != ARCHIVE_OK) {
opkg_msg(ERROR, "Failed to create compressed file: '%s' : %s (errno=%d)",
diff --git a/libopkg/opkg_remove.c b/libopkg/opkg_remove.c
index 889c672..5254388 100644
--- a/libopkg/opkg_remove.c
+++ b/libopkg/opkg_remove.c
@@ -20,6 +20,7 @@
#include "config.h"
+#include <libgen.h>
#include <stdio.h>
#include <glob.h>
#include <unistd.h>
--
2.43.0

View File

@@ -0,0 +1,34 @@
From a4628a6171f393add9a2b287483ca39bb72b4dd6 Mon Sep 17 00:00:00 2001
From: Jonathan Liu <net147@gmail.com>
Date: Mon, 21 Sep 2015 20:23:23 +1000
Subject: [PATCH] opkg_conf: create opkg.lock in /run instead of /var/run
This avoids a "Could not unlink" warning when extracting a /var/run
symbolic link pointing to /run from a package as it is unable to
unlink the /var/run directory when it contains opkg.lock.
This also fixes an issue where /var/run is created as a directory
instead of a symbolic link to /run.
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Jonathan Liu <net147@gmail.com>
---
libopkg/opkg_conf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
index 7bca948..5a1bc44 100644
--- a/libopkg/opkg_conf.h
+++ b/libopkg/opkg_conf.h
@@ -40,7 +40,7 @@ extern "C" {
#define OPKG_CONF_DEFAULT_STATUS_FILE VARDIR "/lib/opkg/status"
#define OPKG_CONF_DEFAULT_CACHE_DIR VARDIR "/cache/opkg"
#define OPKG_CONF_DEFAULT_CONF_FILE_DIR SYSCONFDIR "/opkg"
-#define OPKG_CONF_DEFAULT_LOCK_FILE VARDIR "/run/opkg.lock"
+#define OPKG_CONF_DEFAULT_LOCK_FILE "/run/opkg.lock"
/* In case the config file defines no dest */
#define OPKG_CONF_DEFAULT_DEST_NAME "root"
--
2.5.0

View File

@@ -0,0 +1,28 @@
# Must have one or more source entries of the form:
#
# src <src-name> <source-url>
#
# and one or more destination entries of the form:
#
# dest <dest-name> <target-path>
#
# where <src-name> and <dest-names> are identifiers that
# should match [a-zA-Z0-9._-]+, <source-url> should be a
# URL that points to a directory containing a Familiar
# Packages file, and <target-path> should be a directory
# that exists on the target system.
# Proxy Support
#option http_proxy http://proxy.tld:3128
#option ftp_proxy http://proxy.tld:3128
#option proxy_username <username>
#option proxy_password <password>
# Enable GPGME signature
# option check_signature 1
# Offline mode (for use in constructing flash images offline)
#option offline_root target
# Default destination for installed packages
dest root /

View File

@@ -0,0 +1,5 @@
#!/bin/sh
OPKG_PATH=$(which opkg)
make OPKG_PATH=$OPKG_PATH run-tests

View File

@@ -0,0 +1,85 @@
SUMMARY = "Open Package Manager"
SUMMARY:libopkg = "Open Package Manager library"
SECTION = "base"
HOMEPAGE = "https://git.yoctoproject.org/opkg/"
DESCRIPTION = "Opkg is a lightweight package management system based on Ipkg."
BUGTRACKER = "https://bugzilla.yoctoproject.org/buglist.cgi?quicksearch=Product%3Aopkg"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://src/opkg.c;beginline=4;endline=18;md5=d6200b0f2b41dee278aa5fad333eecae"
DEPENDS = "libarchive zstd"
PE = "1"
SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
file://opkg.conf \
file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
file://0001-libopkg-Use-libgen.h-to-provide-basename-API.patch \
file://run-ptest \
"
SRC_URI[sha256sum] = "f3938e359646b406c40d5d442a1467c7e72357f91ab822e442697529641e06de"
# This needs to be before ptest inherit, otherwise all ptest files end packaged
# in libopkg package if OPKGLIBDIR == libdir, because default
# PTEST_PATH ?= "${libdir}/${BPN}/ptest"
PACKAGES =+ "libopkg"
inherit autotools pkgconfig ptest
target_localstatedir := "${localstatedir}"
OPKGLIBDIR ??= "${target_localstatedir}/lib"
PACKAGECONFIG ??= "libsolv"
PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,\
gnupg gpgme libgpg-error,\
${@ "gnupg" if ("native" in d.getVar("PN")) else "gnupg-gpg"}\
"
PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl"
PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256"
PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv"
EXTRA_OECONF = "--enable-zstd"
EXTRA_OECONF:append:class-native = " --localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
do_install:append () {
install -d ${D}${sysconfdir}/opkg
install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf
echo "option info_dir ${OPKGLIBDIR}/opkg/info" >>${D}${sysconfdir}/opkg/opkg.conf
echo "option status_file ${OPKGLIBDIR}/opkg/status" >>${D}${sysconfdir}/opkg/opkg.conf
# We need to create the lock directory
install -d ${D}${OPKGLIBDIR}/opkg
}
do_install_ptest () {
sed -i -e '/@echo $^/d' ${D}${PTEST_PATH}/tests/Makefile
sed -i -e '/@PYTHONPATH=. $(PYTHON) $^/a\\t@if [ "$$?" != "0" ];then echo "FAIL:"$^;else echo "PASS:"$^;fi' ${D}${PTEST_PATH}/tests/Makefile
}
WARN_QA:append = " internal-solver-deprecation"
QARECIPETEST[internal-solver-deprecation] = "qa_check_solver_deprecation"
def qa_check_solver_deprecation (pn, d, messages):
pkgconfig = (d.getVar("PACKAGECONFIG") or "").split()
if "libsolv" not in pkgconfig:
oe.qa.handle_error("internal-solver-deprecation", "The opkg internal solver will be deprecated in future opkg releases. Consider enabling \"libsolv\" in PACKAGECONFIG.", d)
RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
RDEPENDS:${PN}:class-native = ""
RDEPENDS:${PN}:class-nativesdk = ""
RDEPENDS:${PN}-ptest += "make binutils python3-core python3-compression bash python3-crypt python3-io"
RREPLACES:${PN} = "opkg-nogpg opkg-collateral"
RCONFLICTS:${PN} = "opkg-collateral"
RPROVIDES:${PN} = "opkg-collateral"
FILES:libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
BBCLASSEXTEND = "native nativesdk"
CONFFILES:${PN} = "${sysconfdir}/opkg/opkg.conf"