[oe] [PATCH] module-init-tools 3.4: fix when sbindir != /sbin

Michael Smith msmith at cbnco.com
Mon Nov 9 21:30:18 UTC 2009


Signed-off-by: Michael Smith <msmith at cbnco.com>
---
 recipes/module-init-tools/module-init-tools_3.4.bb |   48 ++++++++++++--------
 1 files changed, 29 insertions(+), 19 deletions(-)

diff --git a/recipes/module-init-tools/module-init-tools_3.4.bb b/recipes/module-init-tools/module-init-tools_3.4.bb
index caea00d..1a1e86d 100644
--- a/recipes/module-init-tools/module-init-tools_3.4.bb
+++ b/recipes/module-init-tools/module-init-tools_3.4.bb
@@ -4,13 +4,13 @@ the same function that the modutils package serves for Linux 2.4."
 LICENSE = "GPL"
 SECTION = "base"
 
-PR = "r1"
+PR = "r2"
 
 PACKAGES =+ "module-init-tools-insmod-static module-init-tools-depmod"
 RDEPENDS_${PN} += "module-init-tools-depmod"
 
-FILES_module-init-tools-depmod = "${sbindir}/depmod.26"
-FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static"
+FILES_module-init-tools-depmod = "${base_sbindir}/depmod.26"
+FILES_module-init-tools-insmod-static = "${base_sbindir}/insmod.static"
 
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \
 	   file://modutils_extension;patch=1 \
@@ -19,8 +19,8 @@ S = "${WORKDIR}/module-init-tools-${PV}"
 
 EXTRA_OECONF = "--disable-manpages"
 
-bindir = "/bin"
-sbindir = "/sbin"
+bindir = "${base_bindir}"
+sbindir = "${base_sbindir}"
 
 inherit autotools
 
@@ -30,37 +30,47 @@ do_configure_prepend() {
 
 do_install() {
 	autotools_do_install
-	for f in bin/lsmod sbin/insmod sbin/rmmod sbin/modprobe sbin/modinfo sbin/depmod; do
-		mv ${D}/$f ${D}/$f.26
+	for f in ${base_bindir}/lsmod ${base_sbindir}/insmod ${base_sbindir}/rmmod ${base_sbindir}/modprobe ${base_sbindir}/modinfo ${base_sbindir}/depmod; do
+		mv ${D}$f ${D}$f.26
 	done
 }
 
 pkg_postinst_module-init-tools() {
 #!/bin/sh
-for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
-bn=`basename $f`
-   update-alternatives --install /$f $bn /$f.26 60
+for f in ${base_sbindir}/insmod ${base_sbindir}/modprobe ${base_sbindir}/rmmod ${base_sbindir}/modinfo; do
+	bn=`basename $f`
+	update-alternatives --install $f $bn $f.26 60
 done
-update-alternatives --install /bin/lsmod bin-lsmod /bin/lsmod.26 60
-update-alternatives --install /sbin/lsmod lsmod /bin/lsmod.26 60
+
+update-alternatives --install ${base_bindir}/lsmod bin-lsmod ${base_bindir}/lsmod.26 60
+
+# Bug #232: Install /sbin/lsmod as a symlink to /bin/lsmod to match Busybox
+if [ "${base_bindir}" != "${base_sbindir}" ]
+then
+	update-alternatives --install ${base_sbindir}/lsmod lsmod ${base_bindir}/lsmod.26 60
+fi
 }
 
 pkg_prerm_module-init-tools() {
 #!/bin/sh
-for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
-bn=`basename $f`
-   update-alternatives --remove $bn /$f.26
+for f in ${base_sbindir}/insmod ${base_sbindir}/modprobe ${base_sbindir}/rmmod ${base_sbindir}/modinfo; do
+	bn=`basename $f`
+	update-alternatives --remove $bn $f.26
 done
-update-alternatives --remove bin-lsmod /bin/lsmod.26
-update-alternatives --remove lsmod /bin/lsmod.26
+update-alternatives --remove bin-lsmod ${base_bindir}/lsmod.26
+
+if [ "$bindir" != "$sbindir" ]
+then
+	update-alternatives --remove lsmod ${base_bindir}/lsmod.26
+fi
 }
 
 pkg_postinst_module-init-tools-depmod() {
 #!/bin/sh
-update-alternatives --install /sbin/depmod depmod /sbin/depmod.26 60
+update-alternatives --install ${base_sbindir}/depmod depmod ${base_sbindir}/depmod.26 60
 }
 
 pkg_prerm_module-init-tools-depmod() {
 #!/bin/sh
-update-alternatives --remove depmod /sbin/depmod.26
+update-alternatives --remove depmod ${sbindir}/depmod.26
 }
-- 
1.6.3





More information about the Openembedded-devel mailing list