diff options
Diffstat (limited to 'meta/recipes-kernel/kmod/kmod_git.bb')
-rw-r--r-- | meta/recipes-kernel/kmod/kmod_git.bb | 78 |
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 | |||
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" | ||