summaryrefslogtreecommitdiff
path: root/meta/recipes-kernel/kmod/kmod_git.bb
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-01-31 00:34:01 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-06 10:21:18 +0100
commit716606f5446534e48b45fcc017e8bbdfe7f15e26 (patch)
tree28e2acaf435ba751f424dedd22cb27faae18faaa /meta/recipes-kernel/kmod/kmod_git.bb
parentd3efcf15cee6734b4bf2277346ceba9a991fbd0f (diff)
downloadopenembedded-core-716606f5446534e48b45fcc017e8bbdfe7f15e26.tar.gz
openembedded-core-716606f5446534e48b45fcc017e8bbdfe7f15e26.tar.bz2
openembedded-core-716606f5446534e48b45fcc017e8bbdfe7f15e26.tar.xz
openembedded-core-716606f5446534e48b45fcc017e8bbdfe7f15e26.zip
kmod: Add recipes
kmod is replacement for module-init-tools Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-kernel/kmod/kmod_git.bb')
-rw-r--r--meta/recipes-kernel/kmod/kmod_git.bb62
1 files changed, 62 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 000000000..928fa88c7
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod_git.bb
@@ -0,0 +1,62 @@
+# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require kmod.inc
+
+PR = "${INC_PR}.0"
+
+PROVIDES_${PN} += "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"
+CONFLICTS_${PN} += "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
+bindir = "${base_bindir}"
+sbindir = "${base_sbindir}"
+# libdir = "${base_libdir}"
+
+SRC_URI += " \
+ file://depmod-search.conf \
+ "
+
+do_install_append () {
+ install -dm755 ${D}${base_bindir}
+ install -dm755 ${D}${base_sbindir}
+ # add symlinks to kmod
+ ln -s ..${base_bindir}/kmod ${D}${base_bindir}/lsmod.kmod
+ for tool in {ins,rm,dep}mod mod{info,probe}; do
+ ln -s ..${base_bindir}/kmod ${D}${base_sbindir}/${tool}.kmod
+ done
+ # configuration directories
+ install -dm755 ${D}${base_libdir}/depmod.d
+ install -dm755 ${D}${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}${base_libdir}/depmod.d/search.conf"
+}
+
+pkg_postinst_kmod() {
+ for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
+ bn=`basename $f`
+ update-alternatives --install /$f $bn /$f.kmod 60
+ done
+ update-alternatives --install /bin/lsmod bin-lsmod /bin/lsmod.kmod 60
+ update-alternatives --install /sbin/lsmod lsmod /bin/lsmod.kmod 60
+ update-alternatives --install /sbin/depmod depmod /sbin/depmod.kmod 60
+}
+
+pkg_prerm_kmod() {
+ for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
+ bn=`basename $f`
+ update-alternatives --remove $bn /$f.kmod
+ done
+ update-alternatives --remove bin-lsmod /bin/lsmod.kmod
+ update-alternatives --remove lsmod /bin/lsmod.kmod
+ update-alternatives --remove depmod /sbin/depmod.kmod
+}
+
+PACKAGES =+ "libkmod"
+
+FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS}"
+FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d"