Initial commit
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,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
|
||||
|
||||
Executable
+5
@@ -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 {} \;
|
||||
@@ -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 = "5d46434a63ae0160150a0efdde1914873697e273"
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
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"
|
||||
|
||||
GTKDOC_DOCDIR = "${S}/libkmod/docs"
|
||||
|
||||
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