summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-02-06 15:36:38 +0000
committerMike Frysinger <vapier@gentoo.org>2008-02-06 15:36:38 +0000
commitcf18fe3422fcc4a3dfdbfab9aa07df720f876265 (patch)
treef2df5b4b3c150071479e048e2b6d56913708163c /sys-apps/busybox
parentold (diff)
downloadhistorical-cf18fe3422fcc4a3dfdbfab9aa07df720f876265.tar.gz
historical-cf18fe3422fcc4a3dfdbfab9aa07df720f876265.tar.bz2
historical-cf18fe3422fcc4a3dfdbfab9aa07df720f876265.zip
Version bump.
Package-Manager: portage-2.1.4.1
Diffstat (limited to 'sys-apps/busybox')
-rw-r--r--sys-apps/busybox/ChangeLog12
-rw-r--r--sys-apps/busybox/Manifest45
-rw-r--r--sys-apps/busybox/busybox-1.9.0.ebuild239
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-allno.patch23
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-fsck.patch15
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-iproute.patch25
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-mkswap.patch15
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-msh.patch79
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-nameif.patch33
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-nohup.patch82
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-stty.patch37
-rw-r--r--sys-apps/busybox/files/busybox-1.9.0-zcip.patch69
12 files changed, 651 insertions, 23 deletions
diff --git a/sys-apps/busybox/ChangeLog b/sys-apps/busybox/ChangeLog
index 77f9bbcbd22c..e5622163ae39 100644
--- a/sys-apps/busybox/ChangeLog
+++ b/sys-apps/busybox/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sys-apps/busybox
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.178 2008/02/05 11:18:23 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.179 2008/02/06 15:36:37 vapier Exp $
+
+*busybox-1.9.0 (06 Feb 2008)
+
+ 06 Feb 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/busybox-1.9.0-allno.patch, +files/busybox-1.9.0-fsck.patch,
+ +files/busybox-1.9.0-iproute.patch, +files/busybox-1.9.0-mkswap.patch,
+ +files/busybox-1.9.0-msh.patch, +files/busybox-1.9.0-nameif.patch,
+ +files/busybox-1.9.0-nohup.patch, +files/busybox-1.9.0-stty.patch,
+ +files/busybox-1.9.0-zcip.patch, +busybox-1.9.0.ebuild:
+ Version bump.
05 Feb 2008; Markus Rothe <corsair@gentoo.org> busybox-1.8.2.ebuild:
Stable on ppc64
diff --git a/sys-apps/busybox/Manifest b/sys-apps/busybox/Manifest
index 4419364cc23f..eacb13f15e3a 100644
--- a/sys-apps/busybox/Manifest
+++ b/sys-apps/busybox/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX 1.4.0/bb.patch 866 RMD160 f1cce542de0814d6dbcf5f23cfad8d3249bf8839 SHA1 257b0dea76eb8656e2d0f03cc877af05415bcd0b SHA256 5e4ca94e7f5914d0e525bec1d661b978fd2e3d356cb1d1014701c6e486f4d7f8
AUX 1.4.0/bin2hex.patch 432 RMD160 5435664813aed4a15c9cf100e04506bbdf60c8b6 SHA1 66561e8c14f25a0b20d743941466bd9b445ee5c3 SHA256 7535703dffb63dd6a0331fce82d542c786758dfe52f7c97491369dde3d35fd1a
AUX 1.4.0/data_extract_all.patch 545 RMD160 88773f3504cbf3e66e83e4c7d017591f79c97c9f SHA1 a30e4cda7c4d0c58ca0cccf23bba8e013cbfdf79 SHA256 cb2b59cb27114771b0c8dc04b480434a85a912eae5e6b96639cfcf5917f7b87e
@@ -8,30 +11,28 @@ AUX busybox-1.6.0-echo.patch 270 RMD160 48b9556175d43a9de922100714f8060c1e9c47cc
AUX busybox-1.6.0-hushdep.patch 738 RMD160 fe71f80fd3260ab85b2c6a3d758d6b996f76a1f5 SHA1 47d86150c0e53e29b2b967c4a6527f44b21ce5ad SHA256 e9a71597c8cc0efa246538678a35cd5af776d5165afb8e50f9f6d518eb174a0b
AUX busybox-1.7.0-bb.patch 880 RMD160 fae03d9ed63f81d4ec043c4fc1eff5158eba5250 SHA1 8d515d3c2474e0f4d43015159b75e42de0d29cb1 SHA256 83c62f48e3ad89a77b2e0dd74d8ffa586faf2d112c3540c930f39e4abf3ccd55
AUX busybox-1.7.4-signal-hack.patch 559 RMD160 4be7ab4379d4d4523fb7139a9ea6d1d885256612 SHA1 2427c3a5509fd04a3215c241c66291778cb19ae0 SHA256 541ab9a625acbb21ad413151f02ede8ab19e32d3a3583f5ca35d4713161bb567
+AUX busybox-1.9.0-allno.patch 1179 RMD160 32d9813d9bc5ec998e7eb0f1e0f04066da0e34d3 SHA1 d902d31244d31778a8a21081a801f0f458a54e8f SHA256 40a38c927502233171db99c530e8c2282a6f63a1495d0c29c268827713700d0c
+AUX busybox-1.9.0-fsck.patch 370 RMD160 82c5b5eaa18be59365f977090176a328d63f6bc4 SHA1 85f847de56f147f16ea4aad68b4e7f15d787f676 SHA256 4f058c85ef7d8b7dabbf3434f7c939180e5edcc4501837995315db86cf321e05
+AUX busybox-1.9.0-iproute.patch 957 RMD160 bc1c280ba29e777f6f25a76946a8b5d8d4eb777d SHA1 b8eb54f6bcd23371d2e48dfc2ce89d460cde08a9 SHA256 bda2fadffe307bfd5935d74b8a8e7162f868dce85cbf9ba1a01198d10ae5b969
+AUX busybox-1.9.0-mkswap.patch 567 RMD160 021736f6c1f06539fdeef876f075a3f6abf0184b SHA1 8f747fc61843bdf12ce6bd4e54cb9cc49bff1556 SHA256 61fba490c1ba4e8a2ea27651cfff882b0cf2c5225607b0ccb17a19c6690a553a
+AUX busybox-1.9.0-msh.patch 2470 RMD160 c4e1c7ddc5d6673306e1aa7306fbb6839bd35f6e SHA1 ef840c32531dcc21367e4a78b342c797cfd4e6a6 SHA256 fe316eada26aceaadb8a519e7270aa96a19fe60f4a99f195502e993373d9c9ea
+AUX busybox-1.9.0-nameif.patch 1584 RMD160 f43b765438a0a3882e61ccaa7691329824d5a95a SHA1 c0199f8326f81fd2c8e778274187f8bdc4ee9229 SHA256 e67f03f4ee0eb6b3bcdd7e8fb1aeb831676da70cb14669e2c2fe6596fb79c03f
+AUX busybox-1.9.0-nohup.patch 2281 RMD160 1683ac268a03ac78ac73cda2d6d5f000a8f0c823 SHA1 a5bf092b5cc8760412af3d7dc72c3564172a1a08 SHA256 f939ac7fdfea294db7b82378eccd5e26a955913dde2bb6df926a41f4c442f7de
+AUX busybox-1.9.0-stty.patch 806 RMD160 e7d04f3f1590b233f63d027bb27b278307d86aa6 SHA1 a2e93dfe87ccb5b00fd714e57af09ba1e83ee4e3 SHA256 d02827ad1e6d72d0d78f40cc77f805fc8e51718786e8571686ba05b7016056ce
+AUX busybox-1.9.0-zcip.patch 2195 RMD160 7c056cb9bff14e1e5f728d2f7da93f46676cf7ba SHA1 ea89a0e9cd753a928c503b1d8c2e089b75992998 SHA256 c8d639ca5a6fc5198a5a532d4fa3dbb5350ee14cebf5ce6becbaead7755f3b47
AUX mdev-start.sh 2411 RMD160 0513dc2423a62d2728cd04ef01172906a79f4d01 SHA1 52efb662fc0726c18da0964adf1d80571766ce01 SHA256 33f45f6f09ee28f623b4cc0dcc1e60743141d9a969c04b9566ac3d0687cb670a
-DIST busybox-1.4.1.tar.bz2 1510432 RMD160 6ea5461718fae52b9ee3b966e49a226a0685fd28 SHA1 e349e3585448ba0f7c28504326301ea130eb2e35 SHA256 2936318008322392716a9d3566bcff071cf5c97cb1df1f5953ec5b5a8a1701bb
-DIST busybox-1.4.2.tar.bz2 1509690 RMD160 222c2f2bcabeba45b8233981c8071fe4f4d62bf3 SHA1 d654727c62f324ab13295095c219451b969beb87 SHA256 da1a9b1c9e210e3e129ab8a3b4e6af2fe093673e3f60722931e2c722d4c29b0f
-DIST busybox-1.5.0.tar.bz2 1550138 RMD160 e42100fcd35856a907db983b284a37c650425185 SHA1 3968b6816b44d5ffcfd7a2feee2eb84680c801e4 SHA256 e71a5e19d3beb6139012558c8b25966b308e425ae999bd0d2a105d9bcdb37b5c
-DIST busybox-1.5.1.tar.bz2 1549430 RMD160 81ba96b794db313cacc68a29ba19d6a18e5b6707 SHA1 474a45d626735ec8e04ec31fd353a8ceb2984f3c SHA256 b47c8c9f047cec4ee42559509909df8f910597539fdfb4b2de05404c3092337f
-DIST busybox-1.6.0.tar.bz2 1689981 RMD160 56ee3ebefa5f2c6bfad84375b3f7f0752d31fcbe SHA1 bce33a204a943bf7438e1fdb8d8a28e8d99e9c81 SHA256 338cb3b77671f1dcec01079e8aad0084e05bb76e21b095274b5bea5d91b5a57d
-DIST busybox-1.6.1.tar.bz2 1692099 RMD160 5fc8a3abeea8988777a9699bdffe025804ec1056 SHA1 ff79db26fa53c20808de4d6f3514f34044749a77 SHA256 d1c7ee084266a168372755929cc59cd27a5ddc136a97608b855f0dba5f7ba8c2
-DIST busybox-1.7.0.tar.bz2 1726650 RMD160 23691b0e908028d109138c1fdf719c35aada6bdc SHA1 84395ec037f23f08bdfc35e808622f344ab3c708 SHA256 b8b991dda8d386ef0210b421670efa6f72da2a5c382c544e6791efa0cbaeac76
-DIST busybox-1.7.1.tar.bz2 1728262 RMD160 42ba3ef6033b8d74c31251810f73c48ddb3820e1 SHA1 439ebcbe2b48e19e1c9acc5aa886b24795d523b1 SHA256 8b6a5fe183cbc19c73db475aaba73af0ba2cba386f3b206fb7720dcf94da549c
-DIST busybox-1.7.2.tar.bz2 1729040 RMD160 f9850b3949ad61dfae37c7ab48eac6c9507eb537 SHA1 d9c618a7b104af4e70d623b1b6f3bc454405e12b SHA256 83c4cc813124a43f13e2ebb83cea9da9909d63891b824bf4bc7006f0567db7cf
-DIST busybox-1.7.3.tar.bz2 1727483 RMD160 1039011774b7501abb8a4df4c858cba2def7abda SHA1 e50507674baa245774b7205384b2049f06ba7998 SHA256 b29c2701c5203ee21d6cf2590b6af164d05b7a524a42991b1a7da7fef6fbaaea
DIST busybox-1.7.4.tar.bz2 1727940 RMD160 a4b71a246449f88a59acda6ecf019f66b9b7c19b SHA1 e5dcaa25525ca63663c3d4e7027897fed54a4f95 SHA256 8480a7c1b9ac0fddff55e8daae807ccf0a47aa292137fa8c9f97cf0733b459c7
DIST busybox-1.8.2.tar.bz2 1765399 RMD160 561d84cc28d2b9cd85f05d9959bc2c585c80a986 SHA1 cca3259c06c64ad4ba08070c8da32083d813057f SHA256 1e444c15c064ca111299323a5193113c8bcb80f7a946675b70f14b0166a2a59c
-EBUILD busybox-1.4.1-r2.ebuild 7981 RMD160 83426ba5b68db54a6201fcbe9f7213908b8b8457 SHA1 6394e28e73cdea532532afbb674076d029a029b7 SHA256 bf7a7ee065cefa47aa00eb06714cf6225b664968a95f826d8ada3f8489cb79a3
-EBUILD busybox-1.4.2.ebuild 7820 RMD160 78d6b7adf60329ee833c185ce0051b4d45c989a3 SHA1 a545354ee416b17c824feff0c002ff0d68657060 SHA256 3e454621fcb5ac47002f480527605ad3fa55536ec5ebac44369bf11af2b7726c
-EBUILD busybox-1.5.0.ebuild 7867 RMD160 9ca10806775bb7818060a8f5bc63e7f5184119a9 SHA1 19f489508ea62e8c53053838acdd667703435d97 SHA256 09c80143227fdca72dc68e30a3e2c41d637c528b8380f50930e2771e6f850ebb
-EBUILD busybox-1.5.1.ebuild 7852 RMD160 dc19f20da0ec145345f5449b8ba6bc76a19f29bd SHA1 8b9557980a6b7936d7cb3841c106e958ac7601e5 SHA256 f93668324d369c28f496ce6ffdf09bb0bdbece84da0a91361df3cc5e726aac32
-EBUILD busybox-1.6.0.ebuild 6746 RMD160 093eedb8df20a0d643463a3bcac42a9d0461f59f SHA1 e98b9c00de8c268e0b518e476b813d923ab5ccf6 SHA256 e961df2df996c22d5bf35e0162c691bc29a1af3a8e8e14ebadda93d3815fe3bb
-EBUILD busybox-1.6.1.ebuild 6734 RMD160 38af4f1dfe1ca9118c2f943f556250323127c2d8 SHA1 5f0e9a8ac3c27cb4a3d7ffff72f8a066f82d72e5 SHA256 7f211e58e65fa2234d3c2ddf92d51da5676af014e21dd5370d35d780d85b2fd5
-EBUILD busybox-1.7.0.ebuild 7016 RMD160 dbddd13c405cfeca64c4a27c51733eddf50c8a6d SHA1 e28c1c26f90c489227ec91d77413a9a613b04d8f SHA256 c5d6850b4938500e2764719ce193e7a4455d871da54e3142c2183703f8549c59
-EBUILD busybox-1.7.1.ebuild 7015 RMD160 895fb24957205cae59cf631642934418773066d4 SHA1 2a5cadc65be38be4aeebd68ccf5400fcbc4c4d32 SHA256 6e4bde9de725a4ac3d02f44daac357824831050b594fe082a58af2da687758a3
-EBUILD busybox-1.7.2.ebuild 7017 RMD160 f9385d31753be5c1d38713f40c32c4425956feaa SHA1 fefd0c431e5e759fe385f5991586196586745ff5 SHA256 b12b6a6df4da7a6d888091b8e4e3bc350dd51aeb2896906c0028ecaabdfed15f
-EBUILD busybox-1.7.3.ebuild 7015 RMD160 7464153bd120766c254ba789337b536ef706630e SHA1 32c9ac1028e2e06ea521c972a5e80b5169fe2688 SHA256 8339ea8680e20c7df7eae1573a88fc457d21f2a88521409cd082158d550e3f70
+DIST busybox-1.9.0.tar.bz2 1798481 RMD160 ec8dbbda99d0ad2f8e139b2dd5340b8d0762a74b SHA1 adb9409ce37b2f9a8a1a5a6f9ba4fde615c3167b SHA256 2da62c3cfbea0108ba1066b7d56207fa01843a2b30314f3329454700301b28c1
EBUILD busybox-1.7.4.ebuild 7065 RMD160 c15b1f193f6e6064b129ab0d3988b5a7661c484e SHA1 bd04231092d736a8d84cecaac30638a80746d5b8 SHA256 295a507bfde7316606b4b8bac650a131fec9e61ef55a2356a4d29d0a0bb873e6
-EBUILD busybox-1.8.2.ebuild 7104 RMD160 f9d1272d7b0ac3225c0afd5ce2ff10d9c609cd5d SHA1 b464c1460787e6bcc55b8a4a58a704e6a1ad6a49 SHA256 4a92a98f70cc8b1d4f4ebd59ebd0b1922412cb1413bd9612cedadd9bb78a52cf
-MISC ChangeLog 26437 RMD160 ac6952a6644339842882ad1d82b38c17ff6ce1f3 SHA1 0b402c2089d8c5563bcaf0eb14c00cdc01ac83d5 SHA256 f458e04117c0e7be546208d66ef565b03e55f853e0869bff8f319998a0daf7ec
+EBUILD busybox-1.8.2.ebuild 7100 RMD160 f990e7adf92b71ed119e4954fc5d533e68821a91 SHA1 ece3e8c06f597ff1c86066e6a4330a03772577a2 SHA256 41e4a1a77b5cd0e990162043d0ef2389f5d825a5a7e92596d531469d885a2b1f
+EBUILD busybox-1.9.0.ebuild 7110 RMD160 9bdb5d859e69147da01bbce4be1cd184f0f304c8 SHA1 d3c44467b85f4fd929d6880ab20697359c04e133 SHA256 62f33d2ee27d6aba2b139bf73104766b68ccfe9b8dbc67eedc2e71adda644090
+MISC ChangeLog 26871 RMD160 8bd9afc7522d05717b6a387e90adf2b59f1860f3 SHA1 4b9e5b81a10606714147620ca28bd83fc7361097 SHA256 00b86ae7e83e8dccb544142a00c005b3ecbda923f57f2b04eed11be7341ed98e
MISC metadata.xml 161 RMD160 77385273ea1d12ed4093a4167307486b74d1cf82 SHA1 aa4b2873e32de89c0b0aeb26b5782f77cb00948e SHA256 a11fdd02015a232398fdf22a20d26a95fc34d44c54513e6b26b6128d0b76122e
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.7 (GNU/Linux)
+
+iD8DBQFHqdNdj9hvisErhMIRAkklAKCpqs4bKOmOap3LMKuh8hP9BzEc4ACdFovH
+OQB7BQ2JbdDTNMhJp2XLA5I=
+=tELm
+-----END PGP SIGNATURE-----
diff --git a/sys-apps/busybox/busybox-1.9.0.ebuild b/sys-apps/busybox/busybox-1.9.0.ebuild
new file mode 100644
index 000000000000..38e43bdfff20
--- /dev/null
+++ b/sys-apps/busybox/busybox-1.9.0.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/busybox-1.9.0.ebuild,v 1.1 2008/02/06 15:36:37 vapier Exp $
+
+EAPI=1
+
+inherit eutils flag-o-matic savedconfig toolchain-funcs
+
+################################################################################
+# BUSYBOX ALTERNATE CONFIG MINI-HOWTO
+#
+# Busybox can be modified in many different ways. Here's a few ways to do it:
+#
+# (1) Emerge busybox with FEATURES=keepwork so the work directory won't
+# get erased afterwards. Add a definition like ROOT=/my/root/path to the
+# start of the line if you're installing to somewhere else than the root
+# directory. This command will save the default configuration to
+# ${PORTAGE_CONFIGROOT} (or ${ROOT} if ${PORTAGE_CONFIGROOT} is not
+# defined), and it will tell you that it has done this. Note the location
+# where the config file was saved.
+#
+# FEATURES=keepwork USE=savedconfig emerge busybox
+#
+# (2) Go to the work directory and change the configuration of busybox using its
+# menuconfig feature.
+#
+# cd /var/tmp/portage/busybox*/work
+# make menuconfig
+#
+# (3) Save your configuration to the default location and copy it to the
+# one of the locations listed in /usr/portage/eclass/savedconfig.eclass
+#
+# (4) Emerge busybox with USE=savedconfig to use the configuration file you
+# just generated.
+#
+################################################################################
+#
+# (1) Alternatively skip the above steps and simply emerge busybox without
+# USE=savedconfig.
+#
+# (2) Edit the file it saves by hand. ${ROOT}"/etc/portage/savedconfig/${CATEGORY}/${PF}
+#
+# (3) Remerge busybox as using USE=savedconfig.
+#
+################################################################################
+
+#SNAPSHOT=20040726
+SNAPSHOT=""
+
+DESCRIPTION="Utilities for rescue and embedded systems"
+HOMEPAGE="http://www.busybox.net/"
+if [[ -n ${SNAPSHOT} ]] ; then
+ MY_P=${PN}
+ SRC_URI="http://www.busybox.net/downloads/snapshots/${PN}-${SNAPSHOT}.tar.bz2"
+else
+ MY_P=${PN}-${PV/_/-}
+ SRC_URI="http://www.busybox.net/downloads/${MY_P}.tar.bz2"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="debug make-symlinks pam selinux +static"
+RESTRICT="test"
+
+DEPEND="selinux? ( sys-libs/libselinux )
+ pam? ( sys-libs/pam )"
+
+S=${WORKDIR}/${MY_P}
+
+busybox_config_option() {
+ case $1 in
+ y) sed -i -e "s:.*CONFIG_$2.*set:CONFIG_$2=y:g" .config;;
+ n) sed -i -e "s:CONFIG_$2=y:# CONFIG_$2 is not set:g" .config;;
+ *) use $1 \
+ && busybox_config_option y $2 \
+ || busybox_config_option n $2
+ return 0
+ ;;
+ esac
+ einfo $(grep "CONFIG_$2[= ]" .config)
+}
+
+src_unpack() {
+ unset KBUILD_OUTPUT #88088
+
+ unpack ${MY_P}.tar.bz2
+ cd "${S}"
+
+ # patches go here!
+ epatch "${FILESDIR}"/busybox-1.7.0-bb.patch
+ epatch "${FILESDIR}"/busybox-1.9.0-*
+
+ # work around broken ass powerpc compilers
+ use ppc64 && append-flags -mminimal-toc
+ # flag cleanup
+ sed -i -r \
+ -e 's:[[:space:]]?-(Werror|Os|falign-(functions|jumps|loops|labels)=1|fomit-frame-pointer)\>::g' \
+ Makefile.flags || die
+ sed -i '/^#error Aborting compilation./d' applets/applets.c || die
+ use elibc_glibc && sed -i 's:-Wl,--gc-sections::' Makefile
+ cat <<-EOF >> Makefile.flags
+ CROSS_COMPILE := ${CHOST}-
+ HOSTCC := $(tc-getBUILD_CC)
+ SKIP_STRIP = y
+ EOF
+
+ # check for a busybox config before making one of our own.
+ # if one exist lets return and use it.
+
+ restore_config .config
+ if [ -f .config ]; then
+ yes "" | emake -j1 oldconfig > /dev/null
+ return 0
+ else
+ ewarn "Could not locate user configfile, so we will save a default one"
+ fi
+
+ # setup the config file
+ emake -j1 allyesconfig > /dev/null
+ busybox_config_option n DMALLOC
+ busybox_config_option n FEATURE_SUID_CONFIG
+ busybox_config_option n BUILD_AT_ONCE
+ busybox_config_option n BUILD_LIBBUSYBOX
+
+ # If these are not set and we are using a uclibc/busybox setup
+ # all calls to system() will fail.
+ busybox_config_option y FEATURE_SH_IS_ASH
+ busybox_config_option n FEATURE_SH_IS_NONE
+
+ if use static && use pam ; then
+ ewarn "You cannot have USE='static pam'. Assuming static is more important."
+ fi
+ use static \
+ && busybox_config_option n PAM \
+ || busybox_config_option pam PAM
+ busybox_config_option static STATIC
+ busybox_config_option debug DEBUG
+ use debug \
+ && busybox_config_option y NO_DEBUG_LIB \
+ && busybox_config_option n DMALLOC \
+ && busybox_config_option n EFENCE
+
+ busybox_config_option selinux SELINUX
+
+ # default a bunch of uncommon options to off
+ for opt in LOCALE_SUPPORT TFTP FTP{GET,PUT} IPCALC TFTP HUSH \
+ LASH MSH INETD DPKG RPM2CPIO RPM FOLD LOGNAME OD CRONTAB \
+ UUDECODE UUENCODE SULOGIN DC DEBUG_YANK_SUSv2 DEBUG_INIT \
+ DEBUG_CROND_OPTION FEATURE_UDHCP_DEBUG TASKSET
+ do
+ busybox_config_option n ${opt}
+ done
+
+ emake -j1 oldconfig > /dev/null
+}
+
+src_compile() {
+ unset KBUILD_OUTPUT #88088
+
+ emake busybox || die "build failed"
+ if ! use static && ! use pam ; then
+ mv busybox_unstripped{,.bak}
+ emake CONFIG_STATIC=y busybox || die "static build failed"
+ mv busybox_unstripped bb
+ mv busybox_unstripped{.bak,}
+ fi
+}
+
+src_install() {
+ unset KBUILD_OUTPUT #88088
+ save_config .config
+
+ into /
+ newbin busybox_unstripped busybox || die
+ if use static || use pam ; then
+ dosym busybox /bin/bb || die
+ dosym bb /bin/busybox.static || die
+ else
+ dobin bb || die
+ fi
+
+ insinto /$(get_libdir)/rcscripts/addons
+ doins "${FILESDIR}"/mdev-start.sh || die
+
+ # bundle up the symlink files for use later
+ emake install || die
+ rm _install/bin/busybox
+ tar cf busybox-links.tar -C _install . || : #;die
+ insinto /usr/share/${PN}
+ doins busybox-links.tar || die
+ newins .config ${PF}.config || die
+
+ dodoc AUTHORS README TODO
+
+ cd docs || die
+ docinto txt
+ dodoc *.txt
+ docinto pod
+ dodoc *.pod
+ dohtml *.html *.sgml
+
+ cd ../examples || die
+ docinto examples
+ dodoc inittab depmod.pl *.conf *.script undeb unrpm
+
+ cd bootfloppy || die
+ docinto bootfloppy
+ dodoc * etc/* etc/init.d/* 2>/dev/null
+}
+
+pkg_preinst() {
+ if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] && [[ ${ROOT} == "/" ]] ; then
+ ewarn "setting USE=make-symlinks and emerging to / is very dangerous."
+ ewarn "it WILL overwrite lots of system programs like: ls bash awk grep (bug 60805 for full list)."
+ ewarn "If you are creating a binary only and not merging this is probably ok."
+ ewarn "set env VERY_BRAVE_OR_VERY_DUMB=yes if this is realy what you want."
+ die "silly options will destroy your system"
+ fi
+
+ if use make-symlinks ; then
+ mv "${D}"/usr/share/${PN}/busybox-links.tar "${T}"/ || die
+ fi
+}
+
+pkg_postinst() {
+ if use make-symlinks ; then
+ cd "${T}" || die
+ mkdir _install
+ tar xf busybox-links.tar -C _install || die
+ cp -vpPR _install/* "${ROOT}"/ || die "copying links for ${x} failed"
+ fi
+
+ echo
+ einfo "This ebuild has support for user defined configs"
+ einfo "Please read this ebuild for more details and re-emerge as needed"
+ einfo "if you want to add or remove functionality for ${PN}"
+ echo
+}
diff --git a/sys-apps/busybox/files/busybox-1.9.0-allno.patch b/sys-apps/busybox/files/busybox-1.9.0-allno.patch
new file mode 100644
index 000000000000..e830ddf4f2e5
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-allno.patch
@@ -0,0 +1,23 @@
+diff -urN busybox-1.9.0/Makefile.help busybox-1.9.0-allno/Makefile.help
+--- busybox-1.9.0/Makefile.help 2007-12-21 22:00:33.000000000 +0000
++++ busybox-1.9.0-allno/Makefile.help 2008-01-04 20:03:30.000000000 +0000
+@@ -16,7 +16,6 @@
+ @echo 'Configuration:'
+ @echo ' allnoconfig - disable all symbols in .config'
+ @echo ' allyesconfig - enable all symbols in .config (see defconfig)'
+- @echo ' allbareconfig - enable all applets without any sub-features'
+ @echo ' config - text based configurator (of last resort)'
+ @echo ' defconfig - set .config to largest generic configuration'
+ @echo ' menuconfig - interactive curses-based configurator'
+diff -urN busybox-1.9.0/applets/applet_tables.c busybox-1.9.0-allno/applets/applet_tables.c
+--- busybox-1.9.0/applets/applet_tables.c 2007-12-24 14:08:25.000000000 +0000
++++ busybox-1.9.0-allno/applets/applet_tables.c 2008-01-04 20:00:12.000000000 +0000
+@@ -71,7 +71,7 @@
+
+ puts("/* This is a generated file, don't edit */");
+
+- puts("const char applet_names[] ALIGN1 =");
++ puts("const char applet_names[] ALIGN1 = \"\" \n");
+ for (i = 0; i < NUM_APPLETS; i++) {
+ printf("\"%s\" \"\\0\"\n", applets[i].name);
+ }
diff --git a/sys-apps/busybox/files/busybox-1.9.0-fsck.patch b/sys-apps/busybox/files/busybox-1.9.0-fsck.patch
new file mode 100644
index 000000000000..5bf4bd275ca7
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-fsck.patch
@@ -0,0 +1,15 @@
+--- busybox-1.9.0/e2fsprogs/fsck.c Fri Dec 21 22:00:31 2007
++++ busybox-1.9.0-fsck/e2fsprogs/fsck.c Sat Feb 2 18:55:22 2008
+@@ -665,6 +665,12 @@
+ for (i = num_args+1; i < argc; i++)
+ free(argv[i]);
+
++ /* No pid, so don't record an instance */
++ if (pid < 0) {
++ free(inst);
++ return;
++ }
++
+ inst->pid = pid;
+ inst->prog = argv[0];
+ inst->type = xstrdup(type);
diff --git a/sys-apps/busybox/files/busybox-1.9.0-iproute.patch b/sys-apps/busybox/files/busybox-1.9.0-iproute.patch
new file mode 100644
index 000000000000..4813aa3c6c06
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-iproute.patch
@@ -0,0 +1,25 @@
+diff -urN busybox-1.9.0/networking/libiproute/iproute.c busybox-1.9.0-iproute/networking/libiproute/iproute.c
+--- busybox-1.9.0/networking/libiproute/iproute.c 2007-12-21 22:00:23.000000000 +0000
++++ busybox-1.9.0-iproute/networking/libiproute/iproute.c 2008-01-04 15:18:33.000000000 +0000
+@@ -841,15 +841,17 @@
+ /*0-3*/ "add\0""append\0""change\0""chg\0"
+ /*4-7*/ "delete\0""get\0""list\0""show\0"
+ /*8..*/ "prepend\0""replace\0""test\0""flush\0";
+- int command_num = 6;
++ int command_num;
+ unsigned flags = 0;
+ int cmd = RTM_NEWROUTE;
+
++ if (!*argv)
++ return iproute_list_or_flush(argv, 0);
++
+ /* "Standard" 'ip r a' treats 'a' as 'add', not 'append' */
+ /* It probably means that it is using "first match" rule */
+- if (*argv) {
+- command_num = index_in_substrings(ip_route_commands, *argv);
+- }
++ command_num = index_in_substrings(ip_route_commands, *argv);
++
+ switch (command_num) {
+ case 0: /* add */
+ flags = NLM_F_CREATE|NLM_F_EXCL;
diff --git a/sys-apps/busybox/files/busybox-1.9.0-mkswap.patch b/sys-apps/busybox/files/busybox-1.9.0-mkswap.patch
new file mode 100644
index 000000000000..ac7e1ecc5c81
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-mkswap.patch
@@ -0,0 +1,15 @@
+--- busybox-1.9.0/util-linux/mkswap.c Fri Dec 21 22:00:33 2007
++++ busybox-1.9.0-mkswap/util-linux/mkswap.c Sat Feb 2 18:55:31 2008
+@@ -64,9 +64,10 @@
+ // Figure out how big the device is and announce our intentions.
+
+ fd = xopen(argv[1], O_RDWR);
+- len = fdlength(fd);
++ len = lseek(fd, 0, SEEK_END);
++ lseek(fd, 0, SEEK_SET);
+ pagesize = getpagesize();
+- printf("Setting up swapspace version 1, size = %"OFF_FMT"d bytes\n",
++ printf("Setting up swapspace version 1, size = %"OFF_FMT"u bytes\n",
+ len - pagesize);
+ mkswap_selinux_setcontext(fd, argv[1]);
+
diff --git a/sys-apps/busybox/files/busybox-1.9.0-msh.patch b/sys-apps/busybox/files/busybox-1.9.0-msh.patch
new file mode 100644
index 000000000000..25c7c7605544
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-msh.patch
@@ -0,0 +1,79 @@
+--- busybox-1.9.0/include/libbb.h Fri Dec 21 22:00:31 2007
++++ busybox-1.9.0-msh/include/libbb.h Sat Feb 2 18:55:36 2008
+@@ -950,10 +950,9 @@
+ };
+ line_input_t *new_line_input_t(int flags);
+ /* Returns:
+- * -1 on read errors or EOF, or on bare Ctrl-D.
+- * 0 on ctrl-C,
++ * -1 on read errors or EOF, or on bare Ctrl-D,
++ * 0 on ctrl-C (the line entered is still returned in 'command'),
+ * >0 length of input string, including terminating '\n'
+- * [is this true? stores "" in 'command' if return value is 0 or -1]
+ */
+ int read_line_input(const char* prompt, char* command, int maxsize, line_input_t *state);
+ #else
+--- busybox-1.9.0/libbb/lineedit.c Mon Dec 24 14:08:25 2007
++++ busybox-1.9.0-msh/libbb/lineedit.c Sat Feb 2 18:55:36 2008
+@@ -1315,8 +1315,8 @@
+ #define CTRL(a) ((a) & ~0x40)
+
+ /* Returns:
+- * -1 on read errors or EOF, or on bare Ctrl-D.
+- * 0 on ctrl-C,
++ * -1 on read errors or EOF, or on bare Ctrl-D,
++ * 0 on ctrl-C (the line entered is still returned in 'command'),
+ * >0 length of input string, including terminating '\n'
+ */
+ int read_line_input(const char *prompt, char *command, int maxsize, line_input_t *st)
+--- busybox-1.9.0/shell/msh.c Fri Dec 21 22:00:28 2007
++++ busybox-1.9.0-msh/shell/msh.c Sat Feb 2 18:57:12 2008
+@@ -2825,11 +2825,13 @@
+
+ if (pin != NULL) {
+ xmove_fd(pin[0], 0);
+- if (pin[1] != 0) close(pin[1]);
++ if (pin[1] != 0)
++ close(pin[1]);
+ }
+ if (pout != NULL) {
+ xmove_fd(pout[1], 1);
+- if (pout[1] != 1) close(pout[0]);
++ if (pout[1] != 1)
++ close(pout[0]);
+ }
+
+ iopp = t->ioact;
+@@ -4162,7 +4164,7 @@
+ return 0;
+ }
+ if (i != 0) {
+- waitpid(i, NULL, 0);
++ waitpid(i, NULL, 0); // safe_waitpid?
+ global_env.iop->argp->aword = ++cp;
+ close(pf[1]);
+ PUSHIO(afile, remap(pf[0]),
+@@ -4181,7 +4183,8 @@
+ * echo "$files" >zz
+ */
+ xmove_fd(pf[1], 1);
+- if (pf[0] != 1) close(pf[0]);
++ if (pf[0] != 1)
++ close(pf[0]);
+
+ argument_list[0] = (char *) DEFAULT_SHELL;
+ argument_list[1] = (char *) "-c";
+@@ -4834,9 +4837,11 @@
+ static int position = 0, size = 0;
+
+ while (size == 0 || position >= size) {
+- read_line_input(current_prompt, filechar_cmdbuf, BUFSIZ, line_input_state);
+- size = strlen(filechar_cmdbuf);
++ size = read_line_input(current_prompt, filechar_cmdbuf, BUFSIZ, line_input_state);
++ if (size < 0) /* Error/EOF */
++ exit(0);
+ position = 0;
++ /* if Ctrl-C, size == 0 and loop will repeat */
+ }
+ c = filechar_cmdbuf[position];
+ position++;
diff --git a/sys-apps/busybox/files/busybox-1.9.0-nameif.patch b/sys-apps/busybox/files/busybox-1.9.0-nameif.patch
new file mode 100644
index 000000000000..146bc29b06c3
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-nameif.patch
@@ -0,0 +1,33 @@
+diff -urN busybox-1.9.0/networking/nameif.c busybox-1.9.0-nameif/networking/nameif.c
+--- busybox-1.9.0/networking/nameif.c 2007-12-24 14:08:25.000000000 +0000
++++ busybox-1.9.0-nameif/networking/nameif.c 2008-01-04 20:05:48.000000000 +0000
+@@ -50,18 +50,18 @@
+ #define ETHTOOL_BUSINFO_LEN 32
+ /* these strings are set to whatever the driver author decides... */
+ struct ethtool_drvinfo {
+- __u32 cmd;
+- char driver[32]; /* driver short name, "tulip", "eepro100" */
+- char version[32]; /* driver version string */
+- char fw_version[32]; /* firmware version string, if applicable */
+- char bus_info[ETHTOOL_BUSINFO_LEN]; /* Bus info for this IF. */
++ uint32_t cmd;
++ char driver[32]; /* driver short name, "tulip", "eepro100" */
++ char version[32]; /* driver version string */
++ char fw_version[32]; /* firmware version string, if applicable */
++ char bus_info[ETHTOOL_BUSINFO_LEN]; /* Bus info for this IF. */
+ /* For PCI devices, use pci_dev->slot_name. */
+- char reserved1[32];
+- char reserved2[16];
+- __u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */
+- __u32 testinfo_len;
+- __u32 eedump_len; /* Size of data from ETHTOOL_GEEPROM (bytes) */
+- __u32 regdump_len; /* Size of data from ETHTOOL_GREGS (bytes) */
++ char reserved1[32];
++ char reserved2[16];
++ uint32_t n_stats; /* number of u64's from ETHTOOL_GSTATS */
++ uint32_t testinfo_len;
++ uint32_t eedump_len; /* Size of data from ETHTOOL_GEEPROM (bytes) */
++ uint32_t regdump_len; /* Size of data from ETHTOOL_GREGS (bytes) */
+ };
+ #define ETHTOOL_GDRVINFO 0x00000003 /* Get driver info. */
+ #endif
diff --git a/sys-apps/busybox/files/busybox-1.9.0-nohup.patch b/sys-apps/busybox/files/busybox-1.9.0-nohup.patch
new file mode 100644
index 000000000000..a052401a395b
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-nohup.patch
@@ -0,0 +1,82 @@
+--- trunk/busybox/coreutils/nohup.c 2007/10/11 10:05:36 20219
++++ trunk/busybox/coreutils/nohup.c 2008/02/04 00:30:06 20940
+@@ -12,21 +12,41 @@
+
+ #include "libbb.h"
+
++/* Compat info: nohup (GNU coreutils 6.8) does this:
++# nohup true
++nohup: ignoring input and appending output to `nohup.out'
++# nohup true 1>/dev/null
++nohup: ignoring input and redirecting stderr to stdout
++# nohup true 2>zz
++# cat zz
++nohup: ignoring input and appending output to `nohup.out'
++# nohup true 2>zz 1>/dev/null
++# cat zz
++nohup: ignoring input
++# nohup true </dev/null 1>/dev/null
++nohup: redirecting stderr to stdout
++# nohup true </dev/null 2>zz 1>/dev/null
++# cat zz
++ (nothing)
++#
++*/
++
+ int nohup_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int nohup_main(int argc, char **argv)
+ {
+- int nullfd;
+ const char *nohupout;
+- char *home = NULL;
++ char *home;
+
+ xfunc_error_retval = 127;
+
+ if (argc < 2) bb_show_usage();
+
+- nullfd = xopen(bb_dev_null, O_WRONLY|O_APPEND);
+ /* If stdin is a tty, detach from it. */
+- if (isatty(STDIN_FILENO))
+- dup2(nullfd, STDIN_FILENO);
++ if (isatty(STDIN_FILENO)) {
++ /* bb_error_msg("ignoring input"); */
++ close(STDIN_FILENO);
++ xopen(bb_dev_null, O_RDONLY); /* will be fd 0 (STDIN_FILENO) */
++ }
+
+ nohupout = "nohup.out";
+ /* Redirect stdout to nohup.out, either in "." or in "$HOME". */
+@@ -37,24 +57,22 @@
+ if (home) {
+ nohupout = concat_path_file(home, nohupout);
+ xopen3(nohupout, O_CREAT|O_WRONLY|O_APPEND, S_IRUSR|S_IWUSR);
++ } else {
++ xopen(bb_dev_null, O_RDONLY); /* will be fd 1 */
+ }
+ }
+- } else dup2(nullfd, STDOUT_FILENO);
++ bb_error_msg("appending output to %s", nohupout);
++ }
+
+- /* If we have a tty on stderr, announce filename and redirect to stdout.
+- * Else redirect to /dev/null.
+- */
++ /* If we have a tty on stderr, redirect to stdout. */
+ if (isatty(STDERR_FILENO)) {
+- bb_error_msg("appending to %s", nohupout);
++ /* if (stdout_wasnt_a_tty)
++ bb_error_msg("redirecting stderr to stdout"); */
+ dup2(STDOUT_FILENO, STDERR_FILENO);
+- } else dup2(nullfd, STDERR_FILENO);
++ }
+
+- if (nullfd > 2)
+- close(nullfd);
+ signal(SIGHUP, SIG_IGN);
+
+ BB_EXECVP(argv[1], argv+1);
+- if (ENABLE_FEATURE_CLEAN_UP && home)
+- free((char*)nohupout);
+ bb_simple_perror_msg_and_die(argv[1]);
+ }
diff --git a/sys-apps/busybox/files/busybox-1.9.0-stty.patch b/sys-apps/busybox/files/busybox-1.9.0-stty.patch
new file mode 100644
index 000000000000..d9e7b2e957fa
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-stty.patch
@@ -0,0 +1,37 @@
+--- busybox-1.9.0/coreutils/stty.c Fri Dec 21 22:00:29 2007
++++ busybox-1.9.0-stty/coreutils/stty.c Sat Feb 2 18:55:40 2008
+@@ -780,30 +780,14 @@
+
+ static const struct mode_info *find_mode(const char *name)
+ {
+- int i = 0;
+- const char *m = mode_name;
+-
+- while (*m) {
+- if (strcmp(name, m) == 0)
+- return &mode_info[i];
+- m += strlen(m) + 1;
+- i++;
+- }
+- return NULL;
++ int i = index_in_strings(mode_name, name);
++ return i >= 0 ? &mode_info[i] : NULL;
+ }
+
+ static const struct control_info *find_control(const char *name)
+ {
+- int i = 0;
+- const char *m = mode_name;
+-
+- while (*m) {
+- if (strcmp(name, m) == 0)
+- return &control_info[i];
+- m += strlen(m) + 1;
+- i++;
+- }
+- return NULL;
++ int i = index_in_strings(control_name, name);
++ return i >= 0 ? &control_info[i] : NULL;
+ }
+
+ enum {
diff --git a/sys-apps/busybox/files/busybox-1.9.0-zcip.patch b/sys-apps/busybox/files/busybox-1.9.0-zcip.patch
new file mode 100644
index 000000000000..3c173a2bcf56
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.9.0-zcip.patch
@@ -0,0 +1,69 @@
+--- busybox-1.9.0/networking/zcip.c Fri Dec 21 22:00:25 2007
++++ busybox-1.9.0-zcip/networking/zcip.c Mon Feb 4 09:37:14 2008
+@@ -180,7 +180,7 @@
+ char *r_opt;
+ unsigned opts;
+
+- /* Ugly trick, but I want these zeroed in one go */
++ // ugly trick, but I want these zeroed in one go
+ struct {
+ const struct in_addr null_ip;
+ const struct ether_addr null_addr;
+@@ -214,8 +214,17 @@
+ // exactly 2 args; -v accumulates and implies -f
+ opt_complementary = "=2:vv:vf";
+ opts = getopt32(argv, "fqr:v", &r_opt, &verbose);
++#if !BB_MMU
++ // on NOMMU reexec early (or else we will rerun things twice)
++ if (!FOREGROUND)
++ bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv);
++#endif
++ // open an ARP socket
++ // (need to do it before openlog to prevent openlog from taking
++ // fd 3 (sock_fd==3))
++ xmove_fd(xsocket(AF_PACKET, SOCK_PACKET, htons(ETH_P_ARP)), sock_fd);
+ if (!FOREGROUND) {
+- /* Do it early, before all bb_xx_msg calls */
++ // do it before all bb_xx_msg calls
+ openlog(applet_name, 0, LOG_DAEMON);
+ logmode |= LOGMODE_SYSLOG;
+ }
+@@ -226,11 +235,6 @@
+ bb_error_msg_and_die("invalid link address");
+ }
+ }
+- // On NOMMU reexec early (or else we will rerun things twice)
+-#if !BB_MMU
+- if (!FOREGROUND)
+- bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv);
+-#endif
+ argc -= optind;
+ argv += optind;
+
+@@ -249,8 +253,6 @@
+ //TODO: are we leaving sa_family == 0 (AF_UNSPEC)?!
+ safe_strncpy(saddr.sa_data, intf, sizeof(saddr.sa_data));
+
+- // open an ARP socket
+- xmove_fd(xsocket(AF_PACKET, SOCK_PACKET, htons(ETH_P_ARP)), sock_fd);
+ // bind to the interface's ARP socket
+ xbind(sock_fd, &saddr, sizeof(saddr));
+
+@@ -290,7 +292,7 @@
+ // restarting after address conflicts:
+ // - start with some address we want to try
+ // - short random delay
+- // - arp probes to see if another host else uses it
++ // - arp probes to see if another host uses it
+ // - arp announcements that we're claiming it
+ // - use it
+ // - defend it, within limits
+@@ -321,7 +323,7 @@
+ switch (safe_poll(fds, 1, timeout_ms)) {
+
+ default:
+- /*bb_perror_msg("poll"); - done in safe_poll */
++ //bb_perror_msg("poll"); - done in safe_poll
+ return EXIT_FAILURE;
+
+ // timeout