diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-02-13 23:57:50 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-02-13 23:57:50 +0000 |
commit | 9bb4ce5318dd1bbb68c59c065f8a928f465dcd54 (patch) | |
tree | 1a13e412d942f072b094f0a3f12590fcdcd0557f /sys-apps | |
parent | Mark ppc64 stable #349309. (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/busybox/Manifest | 29 | ||||
-rw-r--r-- | sys-apps/busybox/busybox-1.18.3.ebuild | 271 | ||||
-rw-r--r-- | sys-apps/busybox/files/busybox-1.18.3-buildsys.patch | 10 | ||||
-rw-r--r-- | sys-apps/busybox/files/busybox-1.18.3-modutils24.patch | 36 | ||||
-rw-r--r-- | sys-apps/busybox/files/busybox-1.18.3-wget.patch | 128 |
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); |