summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/kmod/kmod_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/kmod/kmod_git.bb')
-rw-r--r--meta/recipes-kernel/kmod/kmod_git.bb78
1 files changed, 78 insertions, 0 deletions
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
4require kmod.inc
5
6DEPENDS += "zlib"
7PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
8RPROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
9RCONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
10RREPLACES_${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
13RCONFLICTS_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
16bindir = "${base_bindir}"
17sbindir = "${base_sbindir}"
18# libdir = "${base_libdir}"
19
20do_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
43do_compile_prepend() {
44 sed -i 's/ac_pwd=/#ac_pwd=/' config.status ; sed -i "/#ac_pwd=/a\ac_pwd='.'" config.status
45}
46
47do_compile_ptest () {
48 oe_runmake buildtest-TESTS rootfs
49}
50
51do_install_ptest () {
52 install testmodule.tar ${D}${PTEST_PATH}
53}
54
55INSANE_SKIP_${PN}-ptest = "arch"
56
57inherit update-alternatives
58
59ALTERNATIVE_PRIORITY = "60"
60
61ALTERNATIVE_kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod"
62
63ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod"
64ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe"
65ALTERNATIVE_LINK_NAME[rmmod] = "${base_sbindir}/rmmod"
66ALTERNATIVE_LINK_NAME[modinfo] = "${base_sbindir}/modinfo"
67ALTERNATIVE_LINK_NAME[bin-lsmod] = "${base_bindir}/lsmod"
68
69ALTERNATIVE_LINK_NAME[lsmod] = "${base_sbindir}/lsmod"
70ALTERNATIVE_TARGET[lsmod] = "${base_bindir}/lsmod.${BPN}"
71
72ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod"
73
74PACKAGES =+ "libkmod ${PN}-bash-completion"
75
76FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}"
77FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d"
78FILES_${PN}-bash-completion = "${datadir}/bash-completion"