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,55 @@
|
||||
SUMMARY = "Wrapper script for the Linux kernel module dependency indexer"
|
||||
LICENSE = "MIT"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
# The kernel and the staging dir for it is machine specific
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
# We need the following for the sstate code to process the wrapper
|
||||
SSTATE_SCAN_FILES += "depmodwrapper"
|
||||
EXTRA_STAGING_FIXMES += "PKGDATA_DIR"
|
||||
|
||||
DEPENDS += "kmod-native"
|
||||
do_populate_sysroot[depends] = ""
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir_crossscripts}/
|
||||
|
||||
cat > ${D}${bindir_crossscripts}/depmodwrapper << EOF
|
||||
#!/bin/sh
|
||||
# Expected to be called as: depmodwrapper -a KERNEL_VERSION
|
||||
if [ "\$1" != "-a" -o "\$2" != "-b" ]; then
|
||||
echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION [KERNEL_PACKAGE_NAME]" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
kernelpkgname="kernel"
|
||||
# If no KERNEL_PACKAGE_NAME, assume "kernel".
|
||||
[ -z "\$5" ] || kernelpkgname="\$5"
|
||||
|
||||
kernelabi=""
|
||||
if [ -r "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion" ]; then
|
||||
kernelabi=\$(cat "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion")
|
||||
fi
|
||||
|
||||
if [ ! -e "\$3${nonarch_base_libdir}/depmod.d/exclude.conf" ]; then
|
||||
mkdir -p "\$3${nonarch_base_libdir}/depmod.d"
|
||||
echo "exclude .debug" > "\$3${nonarch_base_libdir}/depmod.d/exclude.conf"
|
||||
fi
|
||||
|
||||
if [ ! -r ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4 ] || [ "\$kernelabi" != "\$4" ]; then
|
||||
echo "Unable to read: ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" >&2
|
||||
exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" "\$4"
|
||||
else
|
||||
exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" "\$4"
|
||||
fi
|
||||
EOF
|
||||
chmod +x ${D}${bindir_crossscripts}/depmodwrapper
|
||||
}
|
||||
|
||||
SYSROOT_DIRS += "${bindir_crossscripts}"
|
||||
|
||||
PACKAGES = ""
|
||||
inherit nopackages
|
||||
@@ -0,0 +1,136 @@
|
||||
From 721ed6040c7aa47070faf6378c433089e178bd43 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 9 Dec 2023 17:35:59 -0800
|
||||
Subject: [PATCH] Use portable implementation for basename API
|
||||
|
||||
musl has removed the non-prototype declaration of basename from
|
||||
string.h [1] which now results in build errors with clang-17+ compiler
|
||||
|
||||
Implement GNU basename behavior using strchr which is portable across libcs
|
||||
|
||||
Fixes
|
||||
../git/tools/kmod.c:71:19: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
|
||||
71 | "Commands:\n", basename(argv[0]));
|
||||
| ^
|
||||
|
||||
[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/kmod-project/kmod/pull/32]
|
||||
|
||||
Suggested-by: Rich Felker
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
libkmod/libkmod-config.c | 2 +-
|
||||
shared/util.c | 4 ++--
|
||||
shared/util.h | 7 +++++++
|
||||
testsuite/testsuite.c | 2 +-
|
||||
tools/depmod.c | 2 +-
|
||||
tools/kmod.c | 4 ++--
|
||||
6 files changed, 14 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
|
||||
index e83621b..8aa555a 100644
|
||||
--- a/libkmod/libkmod-config.c
|
||||
+++ b/libkmod/libkmod-config.c
|
||||
@@ -794,7 +794,7 @@ static int conf_files_insert_sorted(struct kmod_ctx *ctx,
|
||||
bool is_single = false;
|
||||
|
||||
if (name == NULL) {
|
||||
- name = basename(path);
|
||||
+ name = gnu_basename(path);
|
||||
is_single = true;
|
||||
}
|
||||
|
||||
diff --git a/shared/util.c b/shared/util.c
|
||||
index e2bab83..0e16670 100644
|
||||
--- a/shared/util.c
|
||||
+++ b/shared/util.c
|
||||
@@ -172,9 +172,9 @@ char *modname_normalize(const char *modname, char buf[static PATH_MAX], size_t *
|
||||
|
||||
char *path_to_modname(const char *path, char buf[static PATH_MAX], size_t *len)
|
||||
{
|
||||
- char *modname;
|
||||
+ const char *modname;
|
||||
|
||||
- modname = basename(path);
|
||||
+ modname = gnu_basename(path);
|
||||
if (modname == NULL || modname[0] == '\0')
|
||||
return NULL;
|
||||
|
||||
diff --git a/shared/util.h b/shared/util.h
|
||||
index c4a3916..073dc5a 100644
|
||||
--- a/shared/util.h
|
||||
+++ b/shared/util.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
@@ -76,6 +77,12 @@ do { \
|
||||
__p->__v = (val); \
|
||||
} while(0)
|
||||
|
||||
+static _always_inline_ const char *gnu_basename(const char *s)
|
||||
+{
|
||||
+ const char *p = strrchr(s, '/');
|
||||
+ return p ? p+1 : s;
|
||||
+}
|
||||
+
|
||||
static _always_inline_ unsigned int ALIGN_POWER2(unsigned int u)
|
||||
{
|
||||
return 1 << ((sizeof(u) * 8) - __builtin_clz(u - 1));
|
||||
diff --git a/testsuite/testsuite.c b/testsuite/testsuite.c
|
||||
index 318343a..aafc987 100644
|
||||
--- a/testsuite/testsuite.c
|
||||
+++ b/testsuite/testsuite.c
|
||||
@@ -70,7 +70,7 @@ static void help(void)
|
||||
|
||||
printf("Usage:\n"
|
||||
"\t%s [options] <test>\n"
|
||||
- "Options:\n", basename(progname));
|
||||
+ "Options:\n", gnu_basename(progname));
|
||||
|
||||
for (itr = options, itr_short = options_short;
|
||||
itr->name != NULL; itr++, itr_short++)
|
||||
diff --git a/tools/depmod.c b/tools/depmod.c
|
||||
index 43fc354..cfb15b1 100644
|
||||
--- a/tools/depmod.c
|
||||
+++ b/tools/depmod.c
|
||||
@@ -762,7 +762,7 @@ static int cfg_files_insert_sorted(struct cfg_file ***p_files, size_t *p_n_files
|
||||
if (name != NULL)
|
||||
namelen = strlen(name);
|
||||
else {
|
||||
- name = basename(dir);
|
||||
+ name = gnu_basename(dir);
|
||||
namelen = strlen(name);
|
||||
dirlen -= namelen + 1;
|
||||
}
|
||||
diff --git a/tools/kmod.c b/tools/kmod.c
|
||||
index 55689c0..df91e5c 100644
|
||||
--- a/tools/kmod.c
|
||||
+++ b/tools/kmod.c
|
||||
@@ -68,7 +68,7 @@ static int kmod_help(int argc, char *argv[])
|
||||
"Options:\n"
|
||||
"\t-V, --version show version\n"
|
||||
"\t-h, --help show this help\n\n"
|
||||
- "Commands:\n", basename(argv[0]));
|
||||
+ "Commands:\n", gnu_basename(argv[0]));
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(kmod_cmds); i++) {
|
||||
if (kmod_cmds[i]->help != NULL) {
|
||||
@@ -156,7 +156,7 @@ static int handle_kmod_compat_commands(int argc, char *argv[])
|
||||
const char *cmd;
|
||||
size_t i;
|
||||
|
||||
- cmd = basename(argv[0]);
|
||||
+ cmd = gnu_basename(argv[0]);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(kmod_compat_cmds); i++) {
|
||||
if (streq(kmod_compat_cmds[i]->name, cmd))
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From be6f82c54f694617c646ca1f8b5bcf93694e20ad Mon Sep 17 00:00:00 2001
|
||||
From: Tudor Florea <tudor.florea@enea.com>
|
||||
Date: Fri, 6 Sep 2013 21:11:57 +0000
|
||||
Subject: [PATCH] kmod: avoid parallel-tests
|
||||
|
||||
Avoid parallel-tests as it remove
|
||||
buildtest-TESTS and runtest-TESTS targets required by ptest.
|
||||
In automake 1.13.4 parallel-tests is assumed by defauls.
|
||||
In order to have buildtest-TESTS and runtest-TESTS targets
|
||||
serial-tests is now required
|
||||
|
||||
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
|
||||
Upstream-Status: Inappropriate (disable feature incompatible with ptest)
|
||||
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ee72283..60980c0 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -14,8 +14,8 @@ AC_USE_SYSTEM_EXTENSIONS
|
||||
AC_SYS_LARGEFILE
|
||||
AC_PREFIX_DEFAULT([/usr])
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
-AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests])
|
||||
+AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests serial-tests])
|
||||
AM_SILENT_RULES([yes])
|
||||
LT_INIT([disable-static pic-only])
|
||||
|
||||
AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])])
|
||||
@@ -0,0 +1,6 @@
|
||||
#
|
||||
# /etc/depmod.d/depmod.conf
|
||||
#
|
||||
|
||||
search updates extramodules built-in
|
||||
|
||||
33
sources/poky/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch
Normal file
33
sources/poky/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
From dd59095f70f774f6d1e767010e25b35ef6db4c4b Mon Sep 17 00:00:00 2001
|
||||
From: Ross Burton <ross.burton@arm.com>
|
||||
Date: Fri, 8 Dec 2023 22:35:45 +0000
|
||||
Subject: [PATCH] configure: set docdir in GTK_DOC_CHECK
|
||||
|
||||
By passing --docdir in the GTK_DOC_CHECK arguments (to match
|
||||
autogen.sh) autoreconf will work out of the box.
|
||||
|
||||
Without this autoreconf fails due to the documentation not being in
|
||||
./docs, the default location.
|
||||
|
||||
Upstream-Status: Submitted [https://lore.kernel.org/linux-modules/20231208224511.1363066-1-ross.burton@arm.com/T/#u]
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index de01e08..67696c4 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -255,7 +255,7 @@ AS_IF([test "x$enable_coverage" = "xyes"], [
|
||||
AM_CONDITIONAL([ENABLE_COVERAGE], [test "x$enable_coverage" = "xyes"])
|
||||
|
||||
m4_ifdef([GTK_DOC_CHECK], [
|
||||
-GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
|
||||
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat --docdir libkmod/docs])
|
||||
], [
|
||||
AM_CONDITIONAL([ENABLE_GTK_DOC], false)])
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
5
sources/poky/meta/recipes-kernel/kmod/kmod/run-ptest
Executable file
5
sources/poky/meta/recipes-kernel/kmod/kmod/run-ptest
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
touch testsuite/stamp-rootfs
|
||||
tar xf testmodule.tar
|
||||
make -k runtest-TESTS 2>/dev/null| grep -e ^PASS -e ^FAIL
|
||||
find testsuite -name *.ko -exec rm -f {} \;
|
||||
89
sources/poky/meta/recipes-kernel/kmod/kmod_31.bb
Normal file
89
sources/poky/meta/recipes-kernel/kmod/kmod_31.bb
Normal file
@@ -0,0 +1,89 @@
|
||||
# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
SUMMARY = "Tools for managing Linux kernel modules"
|
||||
DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \
|
||||
insert, remove, list, check properties, resolve dependencies and aliases."
|
||||
HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/"
|
||||
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
|
||||
LICENSE:libkmod = "LGPL-2.1-or-later"
|
||||
SECTION = "base"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://libkmod/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://tools/COPYING;md5=751419260aa954499f7abaabaa882bbe \
|
||||
"
|
||||
inherit autotools bash-completion gtk-doc pkgconfig manpages update-alternatives
|
||||
|
||||
SRCREV = "aff617ea871d0568cc491bd116c0be1e857463bb"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git;branch=master;protocol=https \
|
||||
file://depmod-search.conf \
|
||||
file://avoid_parallel_tests.patch \
|
||||
file://0001-Use-portable-implementation-for-basename-API.patch \
|
||||
file://gtkdocdir.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OECONF += "--enable-tools"
|
||||
|
||||
PACKAGECONFIG ??= "zlib xz openssl"
|
||||
PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
|
||||
PACKAGECONFIG[logging] = " --enable-logging,--disable-logging"
|
||||
PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
|
||||
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
|
||||
PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz"
|
||||
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
|
||||
PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
|
||||
|
||||
PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
|
||||
RPROVIDES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
|
||||
RCONFLICTS:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
|
||||
RREPLACES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
|
||||
|
||||
# to force user to remove old module-init-tools and replace them with kmod variants
|
||||
RCONFLICTS:libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
|
||||
|
||||
# autotools set prefix to /usr, however we want them in /bin and /sbin
|
||||
EXTRA_OECONF += "--bindir=${base_bindir} --sbindir=${base_sbindir}"
|
||||
|
||||
do_install:append () {
|
||||
install -dm755 ${D}${base_bindir}
|
||||
install -dm755 ${D}${base_sbindir}
|
||||
# add symlinks to kmod
|
||||
ln -rs ${D}${base_bindir}/kmod ${D}${base_bindir}/lsmod
|
||||
for tool in insmod rmmod depmod modinfo modprobe; do
|
||||
ln -rs ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool}
|
||||
done
|
||||
# configuration directories
|
||||
install -dm755 ${D}${nonarch_base_libdir}/depmod.d
|
||||
install -dm755 ${D}${nonarch_base_libdir}/modprobe.d
|
||||
install -dm755 ${D}${sysconfdir}/depmod.d
|
||||
install -dm755 ${D}${sysconfdir}/modprobe.d
|
||||
|
||||
# install depmod.d file for search/ dir
|
||||
install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${nonarch_base_libdir}/depmod.d/search.conf"
|
||||
|
||||
# Add .debug to the exclude path for depmod
|
||||
echo "exclude .debug" > ${D}${nonarch_base_libdir}/depmod.d/exclude.conf
|
||||
}
|
||||
|
||||
ALTERNATIVE_PRIORITY = "70"
|
||||
|
||||
ALTERNATIVE:kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod"
|
||||
|
||||
ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod"
|
||||
ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod"
|
||||
ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe"
|
||||
ALTERNATIVE_LINK_NAME[rmmod] = "${base_sbindir}/rmmod"
|
||||
ALTERNATIVE_LINK_NAME[modinfo] = "${base_sbindir}/modinfo"
|
||||
ALTERNATIVE_LINK_NAME[bin-lsmod] = "${base_bindir}/lsmod"
|
||||
ALTERNATIVE_LINK_NAME[lsmod] = "${base_sbindir}/lsmod"
|
||||
ALTERNATIVE_TARGET[lsmod] = "${base_bindir}/lsmod.${BPN}"
|
||||
|
||||
PACKAGES =+ "libkmod"
|
||||
FILES:libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}"
|
||||
FILES:${PN} += "${nonarch_base_libdir}/depmod.d ${nonarch_base_libdir}/modprobe.d"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
Reference in New Issue
Block a user