diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
commit | 972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch) | |
tree | 97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-kernel/kmod | |
download | poky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-kernel/kmod')
11 files changed, 344 insertions, 0 deletions
diff --git a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb new file mode 100644 index 0000000000..ec20bf8d30 --- /dev/null +++ b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb | |||
@@ -0,0 +1,46 @@ | |||
1 | SUMMARY = "Wrapper script for the Linux kernel module dependency indexer" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
4 | |||
5 | INHIBIT_DEFAULT_DEPS = "1" | ||
6 | # The kernel and the staging dir for it is machine specific | ||
7 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
8 | |||
9 | # We need the following for the sstate code to process the wrapper | ||
10 | SSTATE_SCAN_FILES += "depmodwrapper" | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}${bindir_crossscripts}/ | ||
14 | |||
15 | cat > ${D}${bindir_crossscripts}/depmodwrapper << EOF | ||
16 | #!/bin/sh | ||
17 | # Expected to be called as: depmodwrapper -a KERNEL_VERSION | ||
18 | if [ "\$1" != "-a" -o "\$2" != "-b" ]; then | ||
19 | echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION" >&2 | ||
20 | exit 1 | ||
21 | fi | ||
22 | if [ ! -r ${STAGING_KERNEL_DIR}/kernel-abiversion ]; then | ||
23 | echo "Unable to read: ${STAGING_KERNEL_DIR}/kernel-abiversion" >&2 | ||
24 | else | ||
25 | kernelabi=\$(cat ${STAGING_KERNEL_DIR}/kernel-abiversion) | ||
26 | if [ "\$kernelabi" != "\$4" ]; then | ||
27 | echo "Error: Kernel version \$4 does not match kernel-abiversion (\$kernelabi)" >&2 | ||
28 | exit 1 | ||
29 | fi | ||
30 | fi | ||
31 | |||
32 | if [ ! -r ${STAGING_KERNEL_DIR}/System.map-\$4 ]; then | ||
33 | echo "Unable to read: ${STAGING_KERNEL_DIR}/System.map-\$4" >&2 | ||
34 | exec env depmod "\$1" "\$2" "\$3" "\$4" | ||
35 | else | ||
36 | exec env depmod "\$1" "\$2" "\$3" -F "${STAGING_KERNEL_DIR}/System.map-\$4" "\$4" | ||
37 | fi | ||
38 | EOF | ||
39 | chmod +x ${D}${bindir_crossscripts}/depmodwrapper | ||
40 | } | ||
41 | |||
42 | SYSROOT_PREPROCESS_FUNCS += "depmodwrapper_sysroot_preprocess" | ||
43 | |||
44 | depmodwrapper_sysroot_preprocess () { | ||
45 | sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} | ||
46 | } | ||
diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb new file mode 100644 index 0000000000..f0e274ed79 --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod-native_git.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | # Copyright (C) 2012 Khem Raj <raj.khem@gmail.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | require kmod.inc | ||
5 | |||
6 | DEPENDS += "zlib-native" | ||
7 | |||
8 | inherit native | ||
9 | |||
10 | SRC_URI += "file://Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch \ | ||
11 | " | ||
12 | |||
13 | do_install_append (){ | ||
14 | for tool in depmod insmod lsmod modinfo modprobe rmmod | ||
15 | do | ||
16 | ln -s kmod ${D}${bindir}/$tool | ||
17 | done | ||
18 | } | ||
diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc new file mode 100644 index 0000000000..dda74c85b6 --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod.inc | |||
@@ -0,0 +1,39 @@ | |||
1 | # Copyright (C) 2012 Khem Raj <raj.khem@gmail.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | SUMMARY = "Tools for managing Linux kernel modules" | ||
5 | DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \ | ||
6 | insert, remove, list, check properties, resolve dependencies and aliases." | ||
7 | HOMEPAGE = "http://packages.profusion.mobi/kmod/" | ||
8 | LICENSE = "GPL-2.0+ & LGPL-2.1+" | ||
9 | LICENSE_libkmod = "LGPL-2.1+" | ||
10 | SECTION = "base" | ||
11 | |||
12 | DEPENDS += "pkgconfig-native" | ||
13 | |||
14 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
15 | file://libkmod/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
16 | " | ||
17 | inherit autotools gtk-doc ptest | ||
18 | |||
19 | SRCREV = "ae58de0fcb4a6528dd365e23d383bbe2eaf2d566" | ||
20 | # Lookout for PV bump too when SRCREV is changed | ||
21 | PV = "18+git${SRCPV}" | ||
22 | |||
23 | SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \ | ||
24 | file://depmod-search.conf \ | ||
25 | file://run-ptest \ | ||
26 | file://ptest.patch \ | ||
27 | file://avoid_parallel_tests.patch \ | ||
28 | file://fix-O_CLOEXEC.patch \ | ||
29 | file://0001-Add-missing-O_CLOEXEC-in-kmod_module_get_size.patch \ | ||
30 | " | ||
31 | |||
32 | S = "${WORKDIR}/git" | ||
33 | |||
34 | EXTRA_AUTORECONF += "--install --symlink" | ||
35 | EXTRA_OECONF +="--enable-debug --enable-logging --enable-tools --disable-manpages --with-zlib" | ||
36 | |||
37 | do_configure_prepend () { | ||
38 | gtkdocize --docdir ${S}/libkmod/docs || touch ${S}/libkmod/docs/gtk-doc.make | ||
39 | } | ||
diff --git a/meta/recipes-kernel/kmod/kmod/0001-Add-missing-O_CLOEXEC-in-kmod_module_get_size.patch b/meta/recipes-kernel/kmod/kmod/0001-Add-missing-O_CLOEXEC-in-kmod_module_get_size.patch new file mode 100644 index 0000000000..77624ce151 --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/0001-Add-missing-O_CLOEXEC-in-kmod_module_get_size.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 74c26943f1228870022d116a1fda25be3a55a38e Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org> | ||
3 | Date: Wed, 18 Jun 2014 20:51:00 -0400 | ||
4 | Subject: [PATCH] Add missing O_CLOEXEC in kmod_module_get_size() | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
8 | --- | ||
9 | libkmod/libkmod-module.c | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c | ||
13 | index e3cc5a7..b81b451 100644 | ||
14 | --- a/libkmod/libkmod-module.c | ||
15 | +++ b/libkmod/libkmod-module.c | ||
16 | @@ -1783,7 +1783,7 @@ KMOD_EXPORT long kmod_module_get_size(const struct kmod_module *mod) | ||
17 | * loaded. | ||
18 | */ | ||
19 | snprintf(line, sizeof(line), "/sys/module/%s", mod->name); | ||
20 | - dfd = open(line, O_RDONLY); | ||
21 | + dfd = open(line, O_RDONLY|O_CLOEXEC); | ||
22 | if (dfd < 0) | ||
23 | return -errno; | ||
24 | |||
25 | -- | ||
26 | 1.8.3.1 | ||
27 | |||
diff --git a/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch b/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch new file mode 100644 index 0000000000..2320b92eba --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | From 0c4dbadc9db3cda1cfca64e44ea08c6e89919ea7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ting Liu <b28495@freescale.com> | ||
3 | Date: Tue, 10 Sep 2013 13:44:18 +0800 | ||
4 | Subject: [PATCH] Change to calling bswap_* instead of htobe* and be*toh | ||
5 | |||
6 | We can't use htobe* and be*toh functions because they are not | ||
7 | available on older versions of glibc, For example, shipped on Centos 5.5. | ||
8 | |||
9 | Change to directly calling bswap_* as defined in+byteswap.h. | ||
10 | |||
11 | Upstream-Status: Inappropriate | ||
12 | |||
13 | Signed-off-by: Ting Liu <b28495@freescale.com> | ||
14 | --- | ||
15 | libkmod/libkmod-signature.c | 3 ++- | ||
16 | 1 files changed, 2 insertions(+), 1 deletions(-) | ||
17 | |||
18 | diff --git a/libkmod/libkmod-signature.c b/libkmod/libkmod-signature.c | ||
19 | index 6b80caa..3544a36 100644 | ||
20 | --- a/libkmod/libkmod-signature.c | ||
21 | +++ b/libkmod/libkmod-signature.c | ||
22 | @@ -19,6 +19,7 @@ | ||
23 | */ | ||
24 | |||
25 | #include <endian.h> | ||
26 | +#include <byteswap.h> | ||
27 | #include <stdint.h> | ||
28 | #include <stdlib.h> | ||
29 | #include <string.h> | ||
30 | @@ -121,7 +122,7 @@ bool kmod_module_signature_info(const struct kmod_file *file, struct kmod_signat | ||
31 | modsig->hash >= PKEY_HASH__LAST || | ||
32 | modsig->id_type >= PKEY_ID_TYPE__LAST) | ||
33 | return false; | ||
34 | - sig_len = be32toh(get_unaligned(&modsig->sig_len)); | ||
35 | + sig_len = bswap_32(get_unaligned(&modsig->sig_len)); | ||
36 | if (size < (off_t)(modsig->signer_len + modsig->key_id_len + sig_len)) | ||
37 | return false; | ||
38 | |||
39 | -- | ||
40 | 1.7.5.4 | ||
41 | |||
diff --git a/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch b/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch new file mode 100644 index 0000000000..4c37d44836 --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | Avoid parallel-tests as it remove | ||
2 | buildtest-TESTS and runtest-TESTS targets required by ptest. | ||
3 | In automake 1.13.4 parallel-tests is assumed by defauls. | ||
4 | In order to have buildtest-TESTS and runtest-TESTS targets | ||
5 | serial-tests is now required | ||
6 | |||
7 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> | ||
8 | Upstream-Status: Inappropriate (disable feature incompatible with ptest) | ||
9 | |||
10 | diff -ruN a/configure.ac b/configure.ac | ||
11 | --- a/configure.ac 2013-09-02 15:05:18.662366800 +0200 | ||
12 | +++ b/configure.ac 2013-11-28 09:26:49.557066764 +0200 | ||
13 | @@ -8,7 +8,7 @@ | ||
14 | AC_CONFIG_SRCDIR([libkmod/libkmod.c]) | ||
15 | AC_CONFIG_AUX_DIR([build-aux]) | ||
16 | AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules | ||
17 | - tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests]) | ||
18 | + tar-pax no-dist-gzip dist-xz subdir-objects color-tests serial-tests]) | ||
19 | AC_PROG_CC_STDC | ||
20 | AC_USE_SYSTEM_EXTENSIONS | ||
21 | AC_SYS_LARGEFILE | ||
diff --git a/meta/recipes-kernel/kmod/kmod/depmod-search.conf b/meta/recipes-kernel/kmod/kmod/depmod-search.conf new file mode 100644 index 0000000000..527c0bb6ee --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/depmod-search.conf | |||
@@ -0,0 +1,6 @@ | |||
1 | # | ||
2 | # /etc/depmod.d/depmod.conf | ||
3 | # | ||
4 | |||
5 | search updates extramodules built-in | ||
6 | |||
diff --git a/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch b/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch new file mode 100644 index 0000000000..8161d6128d --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From bd43367eee868059770188fd9e9db38520dc6fff Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Yang <liezhi.yang@windriver.com> | ||
3 | Date: Wed, 22 Jan 2014 01:06:40 -0500 | ||
4 | Subject: [PATCH] libkmod/libkmod-internal.h: check whether O_CLOEXEC is | ||
5 | defined or not | ||
6 | |||
7 | O_CLOEXEC is introduced from Linux 2.6.23, so old kernel doesn't have | ||
8 | it, we need check before use. | ||
9 | |||
10 | This patch is much more like a workaround, since it may need fcntl() use | ||
11 | FD_CLOEXEC to replace. | ||
12 | |||
13 | This problem was reported by "Ting Liu <b28495@freescale.com>" | ||
14 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
15 | |||
16 | Upstream-Status: Pending | ||
17 | --- | ||
18 | libkmod/libkmod-internal.h | 4 ++++ | ||
19 | 1 file changed, 4 insertions(+) | ||
20 | |||
21 | diff --git a/libkmod/libkmod-internal.h b/libkmod/libkmod-internal.h | ||
22 | index 0180124..100b40f 100644 | ||
23 | --- a/libkmod/libkmod-internal.h | ||
24 | +++ b/libkmod/libkmod-internal.h | ||
25 | @@ -9,6 +9,10 @@ | ||
26 | #include "macro.h" | ||
27 | #include "libkmod.h" | ||
28 | |||
29 | +#ifndef O_CLOEXEC | ||
30 | +#define O_CLOEXEC 0 | ||
31 | +#endif | ||
32 | + | ||
33 | static _always_inline_ _printf_format_(2, 3) void | ||
34 | kmod_log_null(struct kmod_ctx *ctx, const char *format, ...) {} | ||
35 | |||
36 | -- | ||
37 | 1.7.10.4 | ||
38 | |||
diff --git a/meta/recipes-kernel/kmod/kmod/ptest.patch b/meta/recipes-kernel/kmod/kmod/ptest.patch new file mode 100644 index 0000000000..831dbcb909 --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/ptest.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | Add 'install-ptest' rule. | ||
2 | |||
3 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> | ||
4 | Upstream-Status: Pending | ||
5 | |||
6 | diff -ruN a/Makefile.am b/Makefile.am | ||
7 | --- a/Makefile.am 2013-07-12 17:11:05.278331557 +0200 | ||
8 | +++ b/Makefile.am 2013-07-12 17:14:27.033788016 +0200 | ||
9 | @@ -204,6 +204,16 @@ | ||
10 | |||
11 | distclean-local: $(DISTCLEAN_LOCAL_HOOKS) | ||
12 | |||
13 | +install-ptest: | ||
14 | + @$(MKDIR_P) $(DESTDIR)/testsuite | ||
15 | + @for file in $(TESTSUITE); do \ | ||
16 | + install $$file $(DESTDIR)/testsuite; \ | ||
17 | + done; | ||
18 | + @sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile | ||
19 | + @$(MKDIR_P) $(DESTDIR)/tools | ||
20 | + @cp $(noinst_SCRIPTS) $(noinst_PROGRAMS) $(DESTDIR)/tools | ||
21 | + @cp -r testsuite/rootfs testsuite/.libs $(DESTDIR)/testsuite | ||
22 | + | ||
23 | # ------------------------------------------------------------------------------ | ||
24 | # custom release helpers | ||
25 | # ------------------------------------------------------------------------------ | ||
diff --git a/meta/recipes-kernel/kmod/kmod/run-ptest b/meta/recipes-kernel/kmod/kmod/run-ptest new file mode 100755 index 0000000000..598dd2cb5f --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/run-ptest | |||
@@ -0,0 +1,5 @@ | |||
1 | #!/bin/sh | ||
2 | touch testsuite/stamp-rootfs | ||
3 | tar xf testmodule.tar | ||
4 | make -k runtest-TESTS 2>/dev/null| grep -e ^PASS -e ^FAIL | ||
5 | find testsuite -name *.ko -exec rm -f {} \; | ||
diff --git a/meta/recipes-kernel/kmod/kmod_git.bb b/meta/recipes-kernel/kmod/kmod_git.bb new file mode 100644 index 0000000000..08dd81569c --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod_git.bb | |||
@@ -0,0 +1,78 @@ | |||
1 | # Copyright (C) 2012 Khem Raj <raj.khem@gmail.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | require kmod.inc | ||
5 | |||
6 | DEPENDS += "zlib" | ||
7 | PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" | ||
8 | RPROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" | ||
9 | RCONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" | ||
10 | RREPLACES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" | ||
11 | |||
12 | # to force user to remove old module-init-tools and replace them with kmod variants | ||
13 | RCONFLICTS_libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools" | ||
14 | |||
15 | # autotools set prefix to /usr, however we want them in /bin and /sbin | ||
16 | bindir = "${base_bindir}" | ||
17 | sbindir = "${base_sbindir}" | ||
18 | # libdir = "${base_libdir}" | ||
19 | |||
20 | do_install_append () { | ||
21 | install -dm755 ${D}${base_bindir} | ||
22 | install -dm755 ${D}${base_sbindir} | ||
23 | # add symlinks to kmod | ||
24 | ln -s ..${base_bindir}/kmod ${D}${base_bindir}/lsmod | ||
25 | for tool in insmod rmmod depmod modinfo modprobe; do | ||
26 | ln -s ..${base_bindir}/kmod ${D}${base_sbindir}/${tool} | ||
27 | done | ||
28 | # configuration directories | ||
29 | install -dm755 ${D}${base_libdir}/depmod.d | ||
30 | install -dm755 ${D}${base_libdir}/modprobe.d | ||
31 | install -dm755 ${D}${sysconfdir}/depmod.d | ||
32 | install -dm755 ${D}${sysconfdir}/modprobe.d | ||
33 | |||
34 | # install depmod.d file for search/ dir | ||
35 | install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${base_libdir}/depmod.d/search.conf" | ||
36 | |||
37 | if ${@base_contains('DISTRO_FEATURES', 'ptest', 'true', 'false', d)}; then | ||
38 | find testsuite -name *.ko -exec tar rf testmodule.tar {} \; | ||
39 | find testsuite -name *.ko -exec rm -f {} \; | ||
40 | fi | ||
41 | } | ||
42 | |||
43 | do_compile_prepend() { | ||
44 | sed -i 's/ac_pwd=/#ac_pwd=/' config.status ; sed -i "/#ac_pwd=/a\ac_pwd='.'" config.status | ||
45 | } | ||
46 | |||
47 | do_compile_ptest () { | ||
48 | oe_runmake buildtest-TESTS rootfs | ||
49 | } | ||
50 | |||
51 | do_install_ptest () { | ||
52 | install testmodule.tar ${D}${PTEST_PATH} | ||
53 | } | ||
54 | |||
55 | INSANE_SKIP_${PN}-ptest = "arch" | ||
56 | |||
57 | inherit update-alternatives | ||
58 | |||
59 | ALTERNATIVE_PRIORITY = "60" | ||
60 | |||
61 | ALTERNATIVE_kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod" | ||
62 | |||
63 | ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod" | ||
64 | ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe" | ||
65 | ALTERNATIVE_LINK_NAME[rmmod] = "${base_sbindir}/rmmod" | ||
66 | ALTERNATIVE_LINK_NAME[modinfo] = "${base_sbindir}/modinfo" | ||
67 | ALTERNATIVE_LINK_NAME[bin-lsmod] = "${base_bindir}/lsmod" | ||
68 | |||
69 | ALTERNATIVE_LINK_NAME[lsmod] = "${base_sbindir}/lsmod" | ||
70 | ALTERNATIVE_TARGET[lsmod] = "${base_bindir}/lsmod.${BPN}" | ||
71 | |||
72 | ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod" | ||
73 | |||
74 | PACKAGES =+ "libkmod ${PN}-bash-completion" | ||
75 | |||
76 | FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}" | ||
77 | FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d" | ||
78 | FILES_${PN}-bash-completion = "${datadir}/bash-completion" | ||