summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-09-09 06:05:40 +0000
committerMike Frysinger <vapier@gentoo.org>2006-09-09 06:05:40 +0000
commit5d8b081ebee4707dc11fdd599a9a91eebc254d55 (patch)
tree29e9f940a7a38db78b62e39bff5ac674d6b5a8ce /sys-apps/busybox
parentold (diff)
downloadhistorical-5d8b081ebee4707dc11fdd599a9a91eebc254d55.tar.gz
historical-5d8b081ebee4707dc11fdd599a9a91eebc254d55.tar.bz2
historical-5d8b081ebee4707dc11fdd599a9a91eebc254d55.zip
If /proc is unmounted and /bin/busybox is dynamic, make sure we can still recover from broken libs via /bin/busybox.static.
Package-Manager: portage-2.1.1_rc1-r6
Diffstat (limited to 'sys-apps/busybox')
-rw-r--r--sys-apps/busybox/ChangeLog7
-rw-r--r--sys-apps/busybox/busybox-1.2.1.ebuild3
-rw-r--r--sys-apps/busybox/files/1.2.0/bb.patch22
3 files changed, 27 insertions, 5 deletions
diff --git a/sys-apps/busybox/ChangeLog b/sys-apps/busybox/ChangeLog
index ed26d2dc3739..76fe65562826 100644
--- a/sys-apps/busybox/ChangeLog
+++ b/sys-apps/busybox/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-apps/busybox
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.105 2006/09/04 20:26:16 pebenito Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.106 2006/09/09 06:05:40 vapier Exp $
+
+ 09 Sep 2006; Mike Frysinger <vapier@gentoo.org> files/1.2.0/bb.patch,
+ busybox-1.2.1.ebuild:
+ If /proc is unmounted and /bin/busybox is dynamic, make sure we can still
+ recover from broken libs via /bin/busybox.static.
04 Sep 2006; Chris PeBenito <pebenito@gentoo.org>
+files/1.1.1/busybox-libsepol.patch, +files/1.2.0/busybox-libsepol.patch,
diff --git a/sys-apps/busybox/busybox-1.2.1.ebuild b/sys-apps/busybox/busybox-1.2.1.ebuild
index 212c769051ec..f85990e8f02a 100644
--- a/sys-apps/busybox/busybox-1.2.1.ebuild
+++ b/sys-apps/busybox/busybox-1.2.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/busybox-1.2.1.ebuild,v 1.10 2006/09/06 05:14:17 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/busybox-1.2.1.ebuild,v 1.11 2006/09/09 06:05:40 vapier Exp $
inherit eutils flag-o-matic
@@ -205,6 +205,7 @@ src_install() {
use static \
&& dosym busybox /bin/bb \
|| dobin bb
+ dosym bb /bin/busybox.static
# bundle up the symlink files for use later
make CROSS="${CROSS}" install || die
diff --git a/sys-apps/busybox/files/1.2.0/bb.patch b/sys-apps/busybox/files/1.2.0/bb.patch
index 255d5aa9c79d..75e5f71e40f2 100644
--- a/sys-apps/busybox/files/1.2.0/bb.patch
+++ b/sys-apps/busybox/files/1.2.0/bb.patch
@@ -1,6 +1,6 @@
---- busybox-1.2.0/include/applets.h
-+++ busybox-1.2.0/include/applets.h
-@@ -56,6 +56,7 @@
+--- include/applets.h
++++ include/applets.h
+@@ -56,10 +56,12 @@
USE_ASH(APPLET_NOUSAGE(ash, ash, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_AWK(APPLET(awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_BASENAME(APPLET(basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
@@ -8,3 +8,19 @@
USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
/* Always enabled. */
+ APPLET_NOUSAGE(busybox, busybox, _BB_DIR_BIN, _BB_SUID_MAYBE)
++APPLET_NOUSAGE(busybox.static, busybox, _BB_DIR_BIN, _BB_SUID_MAYBE)
+ USE_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat))
+ USE_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+ USE_CAT(APPLET(cat, _BB_DIR_BIN, _BB_SUID_NEVER))
+--- shell/ash.c
++++ shell/ash.c
+@@ -3740,6 +3740,8 @@
+ if(find_applet_by_name(cmd) != NULL) {
+ /* re-exec ourselves with the new arguments */
+ execve(CONFIG_BUSYBOX_EXEC_PATH,argv,envp);
++ execve("/bin/busybox.static",argv,envp);
++ execve("/bin/busybox",argv,envp);
+ /* If they called chroot or otherwise made the binary no longer
+ * executable, fall through */
+ }