[OE-core] [PATCH] busybox: fix a sh link wrong

Wenlin Kang wenlin.kang at windriver.com
Tue Apr 8 07:16:02 UTC 2014


When both bash and busybox be installed, without ash support
in busybox,if bash is installed before busybox in the final stage,
even if ALTERNATIVE_PRIORITY of bash > ALTERNATIVE_PRIORITY of busybox,
the symlink from /bin/sh to bash can be yet overwritten by busybox.

Signed-off-by: Wenlin Kang <wenlin.kang at windriver.com>
---
 meta/recipes-core/busybox/busybox.inc |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index 69b9b0c..bf2ddc1 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -188,7 +188,9 @@ do_install () {
 			install -m 0755 ${B}/busybox.nosuid ${D}${base_bindir}
 			install -m 0644 ${S}/busybox.links.suid ${D}${sysconfdir}
 			install -m 0644 ${S}/busybox.links.nosuid ${D}${sysconfdir}
-			ln -sf busybox.nosuid ${D}${base_bindir}/sh
+			if grep -q "CONFIG_FEATURE_SH_IS_ASH=y" ${B}/.config; then
+				ln -sf busybox.nosuid ${D}${base_bindir}/sh
+			fi
 			# Keep a default busybox for people who want to invoke busybox directly.
 			# This is also useful for the on device upgrade. Because we want
 			# to use the busybox command in postinst.
@@ -200,7 +202,9 @@ do_install () {
 				install -m 0755 ${B}/busybox ${D}${base_bindir}
 			fi
 			install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
-			ln -sf busybox ${D}${base_bindir}/sh
+			if grep -q "CONFIG_FEATURE_SH_IS_ASH=y" ${B}/.config; then
+				ln -sf busybox ${D}${base_bindir}/sh
+			fi
 			# We make this symlink here to eliminate the error when upgrading together
 			# with busybox-syslog. Without this symlink, the opkg may think of the
 			# busybox.nosuid as obsolete and remove it, resulting in dead links like
-- 
1.7.9.5




More information about the Openembedded-core mailing list