summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-02-13 23:57:50 +0000
committerMike Frysinger <vapier@gentoo.org>2011-02-13 23:57:50 +0000
commit9bb4ce5318dd1bbb68c59c065f8a928f465dcd54 (patch)
tree1a13e412d942f072b094f0a3f12590fcdcd0557f /sys-apps
parentMark ppc64 stable #349309. (diff)
downloadhistorical-9bb4ce5318dd1bbb68c59c065f8a928f465dcd54.tar.gz
historical-9bb4ce5318dd1bbb68c59c065f8a928f465dcd54.tar.bz2
historical-9bb4ce5318dd1bbb68c59c065f8a928f465dcd54.zip
Version bump #352592.
Package-Manager: portage-2.2.0_alpha23/cvs/Linux x86_64
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/busybox/ChangeLog9
-rw-r--r--sys-apps/busybox/Manifest29
-rw-r--r--sys-apps/busybox/busybox-1.18.3.ebuild271
-rw-r--r--sys-apps/busybox/files/busybox-1.18.3-buildsys.patch10
-rw-r--r--sys-apps/busybox/files/busybox-1.18.3-modutils24.patch36
-rw-r--r--sys-apps/busybox/files/busybox-1.18.3-wget.patch128
6 files changed, 470 insertions, 13 deletions
diff --git a/sys-apps/busybox/ChangeLog b/sys-apps/busybox/ChangeLog
index f8bc6ff25bf0..b7e0d7e8d7bc 100644
--- a/sys-apps/busybox/ChangeLog
+++ b/sys-apps/busybox/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/busybox
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.268 2011/02/13 23:57:15 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.269 2011/02/13 23:57:50 vapier Exp $
+
+*busybox-1.18.3 (13 Feb 2011)
+
+ 13 Feb 2011; Mike Frysinger <vapier@gentoo.org> +busybox-1.18.3.ebuild,
+ +files/busybox-1.18.3-buildsys.patch, +files/busybox-1.18.3-modutils24.patch,
+ +files/busybox-1.18.3-wget.patch:
+ Version bump #352592.
13 Feb 2011; Mike Frysinger <vapier@gentoo.org> busybox-1.17.4.ebuild:
Mark ppc64 stable #349309.
diff --git a/sys-apps/busybox/Manifest b/sys-apps/busybox/Manifest
index d25a3285d9d8..854c1dba2a9b 100644
--- a/sys-apps/busybox/Manifest
+++ b/sys-apps/busybox/Manifest
@@ -1,19 +1,17 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
AUX busybox-1.15.2-bb.patch 956 RMD160 13d7f8e8fdb35245de4072ff1e55470b2c58f6db SHA1 ab66f70245a399a1a21af0e5598fd2fae809d935 SHA256 482de22b18764e8e0b264bb00d03accf9b821666b64f1a423068b10b30b4893c
-AUX busybox-1.16.0-bb.patch 1124 RMD160 c59e37bd32f9a05d78fca4599dcfdbc88d373c95 SHA1 8028db3af9fcbfa57d3af022e80074836766b7d9 SHA256 c938fd454dcafcf6a9d725104d78dd52fd1f5b9a98507ff8023e9b7419b103ce
AUX busybox-1.17.0-bb.patch 1039 RMD160 abd095949a1a5797a770dd84fbdd247490a7420f SHA1 4f3399421c00961f066b65f4f1955363dc9ed746 SHA256 be449a26d5e87431e2192f79f945e3bf0c999873306d40bf9c0d6cc61da08d48
-AUX busybox-1.17.1-date.patch 931 RMD160 8c4f754f7d7d19ac30d7f5c44c32218fcf14f4a4 SHA1 fc40a123bfff60bcdc41b8a5a5aa167c508a2ed8 SHA256 6dc39321234637e388f807e3b13a0146c3537f146c099e03f8a514a9dd8acd10
-AUX busybox-1.17.1-grep.patch 1556 RMD160 4ab7e6e0dba3ec25886dd3e0ffa1ae2c3470d041 SHA1 871b4706564f20d2be08bf332db7996fa482e95d SHA256 d665817fbbf4eea71a9090cf072aa99b5b413829c953da9dba2f9324cb27d5a2
-AUX busybox-1.17.1-make.patch 1220 RMD160 1497949df75c16836d3fcba306e216eae77c3eb2 SHA1 480ae07dbad0197120b3c0b104ebb05185fad44b SHA256 20639423503b1ecfc4208d20e38141776964e9a168c1b3875d389cb3009de8fd
-AUX busybox-1.17.1-mdev.patch 1833 RMD160 ff2653d7697a920c84061bbe96cbc4adc5df4665 SHA1 633d1cae37a03ca9ee9a164e0b9db622798aeec9 SHA256 54a96234ccefb06fef1673c70e3f43ad0ed4fc53bd8db32601beeaf71a206797
-AUX busybox-1.17.1-mktemp.patch 553 RMD160 98a344fbfb84fd1c4c14ffe72a4e4020f0e1042b SHA1 51a7d6215bef650130eec9014793bb75a769c3b5 SHA256 35cb5d2156826a2a5e4866f5ef52ed85c38c3e64e50a1c05a6466cb3c7a4def0
-AUX busybox-1.17.1-sed.patch 4385 RMD160 a95bf628faa8e5bbe9c35095d22ad5e0258946ca SHA1 a6c181f40b9fc150b19eb691cb6bde7060c102c5 SHA256 7bc59298b351ec5485be2a144d2325a6cb43517f1f8c169b01d8b639f6ec42b4
-AUX busybox-1.17.1-shell.patch 4308 RMD160 9a2d8fa37a8cb6311d056c21d3cde0ad28bcf893 SHA1 45e77540579ef6b2bfec546034c0c60d9fbff510 SHA256 6c89b0037eea646af54a1321bae905f3010969f5edfc3df513f14e8705444e2f
AUX busybox-1.18.0-bb.patch 918 RMD160 e6a7be911deb07510ddf46b8a4b8b24ef5b1b29a SHA1 f4815f4cd948c300d65e553486c949c780f05752 SHA256 9e713de11f26a07e5a17d7e62eed7a10b163de91331d50541dcc2c037acbcb67
AUX busybox-1.18.1-bzip2.patch 1215 RMD160 48e7f2554f13aee61b9e529100df024bf8fe2aaf SHA1 2eb3bf3803f997ce5929b6dc174dc0c5574346a2 SHA256 b91ec72c68961454f4b2cd19b2b4e13bf01650050c69f3875a48003f0740615f
AUX busybox-1.18.1-cpio.patch 916 RMD160 fddcc3ee74a745634c3341d792c130bbbead0bf6 SHA1 1a2c0145d05b4c01b046fcd3ec29be3127f8eeb5 SHA256 b97aa58fa5925cd2fa59b178e33eaa86d5e6633c8c4522bc11f384ba60d33eb3
AUX busybox-1.18.1-hush.patch 8447 RMD160 890c9fc9cc4a47389f5a36e52316e6863791fc60 SHA1 119a025215a70f8e41dcca1e81c93d1894f3679d SHA256 d6a066e2f606559f1cd036e7bcbaf555b1d7df8a924804eca6996bc535e44dbf
AUX busybox-1.18.1-mkswap.patch 504 RMD160 9fbecd5d82ae1d3198acd365e411572bae90dbd3 SHA1 7d5560ca68a5f2f53f573c784929f710b87f5c9d SHA256 8cbf49401fafaf35be70ba414cab0d68c7c88b1d0a6bbb5b00d0dc27621accfa
AUX busybox-1.18.1-warning.patch 913 RMD160 6b688c0561d7d059c7693b24575a103bb9bf978a SHA1 742d459957500551f24be81845b861994bb50c48 SHA256 95df2c2e95c6e0a3a2275d8c9b0958894f4b315666f0407e4f4c9c9dc0b47109
+AUX busybox-1.18.3-buildsys.patch 320 RMD160 5591dc086f5c2d060b0c6e8496df8515ec1dccc8 SHA1 12bd93ead0022a8e80a7d3c40f1f6b166cc3942f SHA256 cb438f0a5c46125387187b4a2389d56f7aa8db5a308aed314f5866cf9a09b72b
+AUX busybox-1.18.3-modutils24.patch 949 RMD160 5c7aef4dd8195a6432a8c7e6e865eff1bc73bdd4 SHA1 445c5e662c2bea616b327744d4e9b6b2fd7a645a SHA256 134ed86867784348f484810464df5bc97589e7aa41079c90e35b8d12b9284df8
+AUX busybox-1.18.3-wget.patch 3805 RMD160 e3846336786aa825da96ff9b2cf08829c81482a9 SHA1 cb9227a3d9783e4222fbe2f42cb769c7ff1e14e3 SHA256 22538ebee96f66916104b8143cfd16e21568da4c5a89128b9daa60d83a59120b
AUX mdev-start.sh 2758 RMD160 c177aac4940b177bd857bc98ff2ac031e0489bbc SHA1 5a5b95da36c489cd12820513434a7a17ac3bffd1 SHA256 9904263c8dfe2b8c3e968a9b4245fa0c162a2413110c037cdd797ac3773587d7
AUX mdev.rc 282 RMD160 6a11e23fbed92acd24088a7885bdc52b9c845fac SHA1 46f1a0494e009332e83b62599842f8213b60ba60 SHA256 e52abbc3399fc85ce1f097e8f12b25a5ca7fe2e3d648bee60c061b547ba39dc5
AUX mdev/dvbdev 356 RMD160 db7f546ae6e47b59cca9712f1e218cdbc3985c78 SHA1 993c0ab79fa41912f84db95e7dd09aa0965aa8c7 SHA256 ef091bb4c8943a99b9a97b556cdc15ddd20275f5afa8287e201419b08c4e71de
@@ -21,12 +19,19 @@ AUX mdev/ide_links 440 RMD160 5d133f27d1ab4db5f6f1b5063837b033f47b71ae SHA1 725d
AUX mdev/usbdev 1624 RMD160 a448558f058566223072c993cb4ae52f9aa43da3 SHA1 4d1a7a19e58549416dd3bde4fcf2f584adc4feb7 SHA256 113ecaa722fa1f4e1c76489e2a7b24099778615a5bccd443aa9cbab28c6d05d0
AUX mdev/usbdisk_link 984 RMD160 9b86d85f5f27f03f894a062c9f00d3583c4db3ae SHA1 690290b25fa1b90f6d9d7b8947a55746920991a4 SHA256 4957f6991e0cb988b263b5276b582f1757deecad19cddebe3c615b381df9f858
DIST busybox-1.15.3.tar.bz2 1987727 RMD160 1f1bd7c25e1afe2465404203897f5b25cf499dfb SHA1 a05a692840ba1cd2bbe21af196f28809694c47e4 SHA256 d74020ad2cc5a4dcc5109c44dbd0e22582d6ce42954b0f1ff29763c8c0ff03cb
-DIST busybox-1.17.1.tar.bz2 2091108 RMD160 4c5ad66bd761cdf0feefe0d8f6d68878dc72b032 SHA1 691f44088c3327c957158443e813ec7346e99df6 SHA256 bf9177810d7e151b0e662477c33b9afd062570e6298ec46f2a8397a6a839d164
DIST busybox-1.17.4.tar.bz2 2093389 RMD160 abb7e3ceebac4fdf48b0e717367e64456749016e SHA1 9a2be1e709dd0703d78bed620439bac069d19254 SHA256 0c6b80f007e665228d1b271354b7e80450dcaa67c9162a30eebf936c7cdfcbdc
DIST busybox-1.18.1.tar.bz2 2129404 RMD160 fb40d19103945eb1cd785a6041e5545f4055b8f6 SHA1 83b86858599870e46236da8d370d335d48cee77e SHA256 33eb25ea7b20c727c3af769256b21408a1ac1f927ff9f89a1f1e3767c18c9967
+DIST busybox-1.18.3.tar.bz2 2119251 RMD160 b38e5bc8ca9d586dd1528080b6a866ad8719a31a SHA1 4debdbdf8abb7ae54e0c0e2650cb03d957400533 SHA256 83f112ee88b7eb85bea1cac0b1af33f61387a1036f1898c5ecd79813191a619b
EBUILD busybox-1.15.3.ebuild 7403 RMD160 574c4cc57a16c18a7409a67c25cf80e843b9e6f5 SHA1 d7c983ec464201e6934ccc6ca247aea37e109ac9 SHA256 1bf516cfbee42acf2b792729a066b7bf976aac90965b77fe9f460cdcff3d8999
-EBUILD busybox-1.17.1-r1.ebuild 7815 RMD160 b46e4325c7f98dfda2e0c9d0db01d6dcd3c98b5a SHA1 290857588367281cce5c20652cde1ad87d53d779 SHA256 92287477d7d6c3464518377c2b659262a189f7b4ae49b26fe4fef1e86cd634f8
-EBUILD busybox-1.17.4.ebuild 7869 RMD160 5784bd3777cd1800c2b91fff39182242e0853b9e SHA1 4573f7ea96f87569d365ceaa763cee469a3cb81a SHA256 018757e85b4b1c7496327748054084d9690c90ffac517601b897d17d68b5ddb5
+EBUILD busybox-1.17.4.ebuild 7868 RMD160 232728e51c03f0108c0b0a338e329b18feca04e2 SHA1 7dfd92bbc83115e08621697f330c2a4cbc2a1c47 SHA256 612968eed05b98a3aafcef6a46e48791442dc994cb01719e78ae26d5bd3feea8
EBUILD busybox-1.18.1.ebuild 7878 RMD160 bffa2b8a14b89e73284465fab69843a6c64bc59b SHA1 50f602ebad143a95e8c264391bf97d5ddf8a2150 SHA256 a227375d847bec70e835e060ffb8d4d0c7c570473f157970135b272f26710b4d
-MISC ChangeLog 39576 RMD160 dab954447f35a2081cd0237ad7c1faae573691da SHA1 0eda7de729ee923d4b5591cc2bb6e103daa17616 SHA256 08f8480223c8b088aefbf47730e926b6f7366505987793fa87ccfd89c6bd9848
+EBUILD busybox-1.18.3.ebuild 7878 RMD160 f2e4d2a5a4347b3d2f334118306f3b20483075dd SHA1 bf88c8e058ce6246d80bed1f240df61cbf6cecd6 SHA256 d49d5e7e562046af16efce1f5ce653f9fdc56662562ca1cb63f79e0533bc01ae
+MISC ChangeLog 39924 RMD160 53981bf93757b1b3a1b95533475f0945239583ae SHA1 6c1cdfa5afb0ab9dd9f416d88018d442a399b940 SHA256 3b14e569a0ff64a47b8c71cf976e8d5b0e20c8b0d23dd2ac6a707e7c53121a97
MISC metadata.xml 368 RMD160 2facee7f44b7469c85383961c2dd4338ea6fffcb SHA1 eae78f6b5eb3a21aeae692f9a7420ab536be3739 SHA256 033b1cb2abe759f73b184ce43b5c791454716638090767c2bc70cc52b4ef187f
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iF4EAREIAAYFAk1YcAQACgkQaC/OocHi7JaIbQEAm2rJs30umkpBRDYLJmeuyz24
+Ul+ZjOopYfkQ6NjrGHQA/1jTPs1s7z5ZUYkZupNYPqy970OS9C5+AI0rax6Zik/g
+=BqN0
+-----END PGP SIGNATURE-----
diff --git a/sys-apps/busybox/busybox-1.18.3.ebuild b/sys-apps/busybox/busybox-1.18.3.ebuild
new file mode 100644
index 000000000000..62055f0af174
--- /dev/null
+++ b/sys-apps/busybox/busybox-1.18.3.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/busybox-1.18.3.ebuild,v 1.1 2011/02/13 23:57:50 vapier Exp $
+
+EAPI=2
+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/busybox-*
+# 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 ipv6 make-symlinks +mdev -pam selinux static elibc_glibc"
+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 || echo Could not find CONFIG_$2 ...)
+}
+
+src_prepare() {
+ unset KBUILD_OUTPUT #88088
+ append-flags -fno-strict-aliasing #310413
+
+ # patches go here!
+ epatch "${FILESDIR}"/busybox-1.18.0-bb.patch
+ epatch "${FILESDIR}"/busybox-${PV}-*.patch
+
+ # 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 '/bbsh/s:^//::' include/applets.h
+ sed -i '/^#error Aborting compilation./d' applets/applets.c || die
+ use elibc_glibc && sed -i 's:-Wl,--gc-sections::' Makefile
+ sed -i \
+ -e "/^CROSS_COMPILE/s:=.*:= ${CHOST}-:" \
+ -e "/^AR\>/s:=.*:= $(tc-getAR):" \
+ -e "/^CC\>/s:=.*:= $(tc-getCC):" \
+ -e "/^LD\>/s:=.*:= $(tc-getLD):" \
+ -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
+ Makefile || die
+}
+
+src_configure() {
+ # 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
+ busybox_config_option n NOMMU
+ busybox_config_option n MONOTONIC_SYSCALL
+
+ # If these are not set and we are using a uclibc/busybox setup
+ # all calls to system() will fail.
+ busybox_config_option y ASH
+ busybox_config_option n HUSH
+
+ # disable ipv6 applets
+ if ! use ipv6; then
+ busybox_config_option n FEATURE_IPV6
+ busybox_config_option n TRACEROUTE6
+ busybox_config_option n PING6
+ fi
+
+ 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
+ local opt
+ for opt in \
+ CRONTAB \
+ DC DEVFSD DNSD DPKG \
+ FAKEIDENTD FBSPLASH FOLD FTP{GET,PUT} \
+ HOSTID HUSH \
+ INETD INOTIFYD IPCALC \
+ LASH LOCALE_SUPPORT LOGNAME LPD \
+ MSH \
+ OD \
+ RFKILL \
+ SLATTACH SULOGIN \
+ TASKSET TCPSVD \
+ RPM RPM2CPIO \
+ UDPSVD UUDECODE UUENCODE
+ do
+ busybox_config_option n ${opt}
+ done
+
+ emake -j1 oldconfig > /dev/null
+}
+
+src_compile() {
+ unset KBUILD_OUTPUT #88088
+ export SKIP_STRIP=y
+
+ emake busybox || die "build failed"
+ if ! use static ; then
+ cp .config{,.bak}
+ mv busybox_unstripped{,.bak}
+ use pam && busybox_config_option n PAM
+ emake CONFIG_STATIC=y busybox || die "static build failed"
+ mv busybox_unstripped bb
+ mv busybox_unstripped{.bak,}
+ mv .config{.bak,}
+ fi
+}
+
+src_install() {
+ unset KBUILD_OUTPUT #88088
+ save_config .config
+
+ into /
+ newbin busybox_unstripped busybox || die
+ if use static ; then
+ dosym busybox /bin/bb || die
+ dosym bb /bin/busybox.static || die
+ else
+ dobin bb || die
+ fi
+ if use mdev ; then
+ dodir /$(get_libdir)/mdev/
+ use make-symlinks || dosym /bin/bb /sbin/mdev
+ cp "${S}"/examples/mdev_fat.conf "${D}"/etc/mdev.conf
+
+ exeinto /$(get_libdir)/mdev/
+ doexe "${FILESDIR}"/mdev/*
+
+ insinto /$(get_libdir)/rcscripts/addons
+ doins "${FILESDIR}"/mdev-start.sh || die
+ newinitd "${FILESDIR}"/mdev.rc mdev || die
+ fi
+
+ # 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
+
+ cd ../examples || die
+ docinto examples
+ dodoc inittab depmod.pl *.conf *.script undeb unrpm
+
+ cd bootfloppy || die
+ docinto bootfloppy
+ dodoc $(find . -type f)
+}
+
+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.18.3-buildsys.patch b/sys-apps/busybox/files/busybox-1.18.3-buildsys.patch
new file mode 100644
index 000000000000..330b73fbb808
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.18.3-buildsys.patch
@@ -0,0 +1,10 @@
+--- busybox-1.18.3/Config.in
++++ busybox-1.18.3-buildsys/Config.in
+@@ -126,7 +126,6 @@ config FEATURE_INSTALLER
+ config INSTALL_NO_USR
+ bool "Don't use /usr"
+ default n
+- depends on FEATURE_INSTALLER
+ help
+ Disable use of /usr. busybox --install and "make install"
+ will install applets only to /bin and /sbin,
diff --git a/sys-apps/busybox/files/busybox-1.18.3-modutils24.patch b/sys-apps/busybox/files/busybox-1.18.3-modutils24.patch
new file mode 100644
index 000000000000..2b13787f38c0
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.18.3-modutils24.patch
@@ -0,0 +1,36 @@
+--- busybox-1.18.3/modutils/modutils-24.c
++++ busybox-1.18.3-modutils24/modutils/modutils-24.c
+@@ -2474,6 +2474,7 @@ new_process_module_arguments(struct obj_
+ n = 0;
+ p = val;
+ while (*p != 0) {
++ char sv_ch;
+ char *endp;
+
+ if (++n > max)
+@@ -2482,14 +2483,17 @@ new_process_module_arguments(struct obj_
+ switch (*pinfo) {
+ case 's':
+ len = strcspn(p, ",");
++ sv_ch = p[len];
+ p[len] = 0;
+ obj_string_patch(f, sym->secidx,
+ loc - contents, p);
+ loc += tgt_sizeof_char_p;
+ p += len;
++ *p = sv_ch;
+ break;
+ case 'c':
+ len = strcspn(p, ",");
++ sv_ch = p[len];
+ p[len] = 0;
+ if (len >= charssize)
+ bb_error_msg_and_die("string too long for %s (max %ld)", param,
+@@ -2497,6 +2501,7 @@ new_process_module_arguments(struct obj_
+ strcpy((char *) loc, p);
+ loc += charssize;
+ p += len;
++ *p = sv_ch;
+ break;
+ case 'b':
+ *loc++ = strtoul(p, &endp, 0);
diff --git a/sys-apps/busybox/files/busybox-1.18.3-wget.patch b/sys-apps/busybox/files/busybox-1.18.3-wget.patch
new file mode 100644
index 000000000000..88cfc918ca2f
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.18.3-wget.patch
@@ -0,0 +1,128 @@
+--- busybox-1.18.3/networking/wget.c
++++ busybox-1.18.3-wget/networking/wget.c
+@@ -446,7 +446,7 @@ static FILE* prepare_ftp_session(FILE **
+
+ static void NOINLINE retrieve_file_data(FILE *dfp, int output_fd)
+ {
+- char buf[512];
++ char buf[4*1024]; /* made bigger to speed up local xfers */
+ #if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT
+ # if ENABLE_FEATURE_WGET_TIMEOUT
+ unsigned second_cnt;
+@@ -455,7 +455,6 @@ static void NOINLINE retrieve_file_data(
+
+ polldata.fd = fileno(dfp);
+ polldata.events = POLLIN | POLLPRI;
+- ndelay_on(polldata.fd);
+ #endif
+ progress_meter(PROGRESS_START);
+
+@@ -464,6 +463,10 @@ static void NOINLINE retrieve_file_data(
+
+ /* Loops only if chunked */
+ while (1) {
++
++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT
++ ndelay_on(polldata.fd);
++#endif
+ while (1) {
+ int n;
+ unsigned rdsz;
+@@ -493,22 +496,46 @@ static void NOINLINE retrieve_file_data(
+ progress_meter(PROGRESS_BUMP);
+ }
+ #endif
++ /* fread internally uses read loop, which in our case
++ * is usually exited when we get EAGAIN.
++ * In this case, libc sets error marker on the stream.
++ * Need to clear it before next fread to avoid possible
++ * rare false positive ferror below. Rare because usually
++ * fread gets more than zero bytes, and we don't fall
++ * into if (n <= 0) ...
++ */
++ clearerr(dfp);
++ errno = 0;
+ n = safe_fread(buf, rdsz, dfp);
++ /* man fread:
++ * If error occurs, or EOF is reached, the return value
++ * is a short item count (or zero).
++ * fread does not distinguish between EOF and error.
++ */
+ if (n <= 0) {
+- if (ferror(dfp)) {
+- /* perror will not work: ferror doesn't set errno */
+- bb_error_msg_and_die(bb_msg_read_error);
+- }
+- break;
++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT
++ if (errno == EAGAIN) /* poll lied, there is no data? */
++ continue; /* yes */
++#endif
++ if (ferror(dfp))
++ bb_perror_msg_and_die(bb_msg_read_error);
++ break; /* EOF, not error */
+ }
++
+ xwrite(output_fd, buf, n);
+ #if ENABLE_FEATURE_WGET_STATUSBAR
+ G.transferred += n;
+ progress_meter(PROGRESS_BUMP);
+ #endif
+- if (G.got_clen)
++ if (G.got_clen) {
+ G.content_len -= n;
++ if (G.content_len == 0)
++ break;
++ }
+ }
++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT
++ ndelay_off(polldata.fd);
++#endif
+
+ if (!G.chunked)
+ break;
+@@ -706,6 +733,11 @@ int wget_main(int argc UNUSED_PARAM, cha
+ fprintf(sfp, "Host: %s\r\nUser-Agent: %s\r\n",
+ target.host, user_agent);
+
++ /* Ask server to close the connection as soon as we are done
++ * (IOW: we do not intend to send more requests)
++ */
++ fprintf(sfp, "Connection: close\r\n");
++
+ #if ENABLE_FEATURE_WGET_AUTHENTICATION
+ if (target.user) {
+ fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6,
+@@ -719,22 +751,25 @@ int wget_main(int argc UNUSED_PARAM, cha
+
+ if (G.beg_range)
+ fprintf(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range);
++
+ #if ENABLE_FEATURE_WGET_LONG_OPTIONS
+ if (extra_headers)
+ fputs(extra_headers, sfp);
+
+ if (opt & WGET_OPT_POST_DATA) {
+ char *estr = URL_escape(post_data);
+- fprintf(sfp, "Content-Type: application/x-www-form-urlencoded\r\n");
+- fprintf(sfp, "Content-Length: %u\r\n" "\r\n" "%s",
+- (int) strlen(estr), estr);
+- /*fprintf(sfp, "Connection: Keep-Alive\r\n\r\n");*/
+- /*fprintf(sfp, "%s\r\n", estr);*/
++ fprintf(sfp,
++ "Content-Type: application/x-www-form-urlencoded\r\n"
++ "Content-Length: %u\r\n"
++ "\r\n"
++ "%s",
++ (int) strlen(estr), estr
++ );
+ free(estr);
+ } else
+ #endif
+- { /* If "Connection:" is needed, document why */
+- fprintf(sfp, /* "Connection: close\r\n" */ "\r\n");
++ {
++ fprintf(sfp, "\r\n");
+ }
+
+ fflush(sfp);