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:
@@ -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"
|
||||
43
sources/poky/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
Normal file
43
sources/poky/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
28
sources/poky/meta/recipes-devtools/opkg/opkg/opkg.conf
Normal file
28
sources/poky/meta/recipes-devtools/opkg/opkg/opkg.conf
Normal 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 /
|
||||
5
sources/poky/meta/recipes-devtools/opkg/opkg/run-ptest
Normal file
5
sources/poky/meta/recipes-devtools/opkg/opkg/run-ptest
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
OPKG_PATH=$(which opkg)
|
||||
|
||||
make OPKG_PATH=$OPKG_PATH run-tests
|
||||
85
sources/poky/meta/recipes-devtools/opkg/opkg_0.6.3.bb
Normal file
85
sources/poky/meta/recipes-devtools/opkg/opkg_0.6.3.bb
Normal 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"
|
||||
Reference in New Issue
Block a user