[oe-commits] Wenlin Kang : busybox: fix a sh link wrong

git at git.openembedded.org git at git.openembedded.org
Tue Apr 8 16:56:45 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: 6ef650359cc2a49376eb5ca92bc97b34cdd82862
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=6ef650359cc2a49376eb5ca92bc97b34cdd82862

Author: Wenlin Kang <wenlin.kang at windriver.com>
Date:   Tue Apr  8 15:16:02 2014 +0800

busybox: fix a sh link wrong

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>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 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 eedbe46..e59afe6 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -189,7 +189,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.
@@ -201,7 +203,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



More information about the Openembedded-commits mailing list