summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-12-21 23:32:46 +0000
committerMike Frysinger <vapier@gentoo.org>2010-12-21 23:32:46 +0000
commitfb925d70a8f781dcf643e4707684134651c28e53 (patch)
tree4a43b43b2a48bf91a1fe4f1a7576e84b6976c357 /sys-apps
parenttweak src_install too to handle static build with USE=pam #345665 (diff)
downloadhistorical-fb925d70a8f781dcf643e4707684134651c28e53.tar.gz
historical-fb925d70a8f781dcf643e4707684134651c28e53.tar.bz2
historical-fb925d70a8f781dcf643e4707684134651c28e53.zip
Version bump.
Package-Manager: portage-2.2.0_alpha8/cvs/Linux x86_64
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/busybox/ChangeLog8
-rw-r--r--sys-apps/busybox/Manifest17
-rw-r--r--sys-apps/busybox/busybox-1.18.1.ebuild271
-rw-r--r--sys-apps/busybox/files/busybox-1.18.0-bb.patch22
4 files changed, 305 insertions, 13 deletions
diff --git a/sys-apps/busybox/ChangeLog b/sys-apps/busybox/ChangeLog
index 18a9339bf20a..e846d38b99fa 100644
--- a/sys-apps/busybox/ChangeLog
+++ b/sys-apps/busybox/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-apps/busybox
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.259 2010/11/27 00:45:02 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.260 2010/12/21 23:32:46 vapier Exp $
+
+*busybox-1.18.1 (22 Dec 2010)
+
+ 22 Dec 2010; Mike Frysinger <vapier@gentoo.org>
+ +files/busybox-1.18.0-bb.patch, +busybox-1.18.1.ebuild:
+ Version bump.
27 Nov 2010; Mike Frysinger <vapier@gentoo.org> busybox-1.17.4.ebuild:
Respect env AR/LD #311589 by Thomas Sachau.
diff --git a/sys-apps/busybox/Manifest b/sys-apps/busybox/Manifest
index 74f5f92aef49..f5e6526e9740 100644
--- a/sys-apps/busybox/Manifest
+++ b/sys-apps/busybox/Manifest
@@ -1,6 +1,3 @@
------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
@@ -11,6 +8,7 @@ AUX busybox-1.17.1-mdev.patch 1833 RMD160 ff2653d7697a920c84061bbe96cbc4adc5df46
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 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
@@ -20,15 +18,10 @@ AUX mdev/usbdisk_link 984 RMD160 9b86d85f5f27f03f894a062c9f00d3583c4db3ae SHA1 6
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
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 7889 RMD160 e841c2c7771b80a94b754054e4ade1aff28cf044 SHA1 15b52723f874e0293f1fe2383fb6f284230b1230 SHA256 b950cf46a7aea98cea32351d287b7abf93aac433e87ae9c62448a2cdcd98f5bf
-MISC ChangeLog 38450 RMD160 3326f2156b9b6a2b2e9d93f9e14b0a970a2de97d SHA1 064766af60b4008c6e2af7058bb584eebbf59395 SHA256 7f82886e462c5df44306e0e5800380470b060b5d00de6faf918d348b8b954230
+EBUILD busybox-1.17.4.ebuild 7879 RMD160 46f442a7ae51e44476a36a2c3c9ee4b5311300e8 SHA1 046dd19235f844ee65c33d1681305a891e270f96 SHA256 f35b3528cc6aabe1556fa46bff3d19f20ae83b550446aeed11133e93928fc5de
+EBUILD busybox-1.18.1.ebuild 7879 RMD160 37a61f1aad0924dd093cd17aade4c8231ec0a674 SHA1 6385245b1e0476e1c45ebb24cb31bb43bbc8d58a SHA256 7eecfc226d3f2ae6d10a7b40be69c08daaef57132db2401f028d107ca2fd7ecb
+MISC ChangeLog 38606 RMD160 0be0f9529edcc1834ce97a216416b7764cec28a0 SHA1 0f85ba469a656b804e70308316f37d594945b335 SHA256 ccbffc796e0824effc9e9c270c7c2555d4197c815e9fdce032b91927fde5f528
MISC metadata.xml 368 RMD160 2facee7f44b7469c85383961c2dd4338ea6fffcb SHA1 eae78f6b5eb3a21aeae692f9a7420ab536be3739 SHA256 033b1cb2abe759f73b184ce43b5c791454716638090767c2bc70cc52b4ef187f
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.16 (GNU/Linux)
-
-iF4EAREIAAYFAkzwU80ACgkQTwhj9JtAlp49vwD/alJuKKxroqhxFyhtIHGDRAuJ
-9p2yrk57Xt3kz2LQj1YA/Auh0QgSE771gQIhURoLqNxddB1mEQ5MM0bVrzo7ZTYO
-=p8Rb
------END PGP SIGNATURE-----
diff --git a/sys-apps/busybox/busybox-1.18.1.ebuild b/sys-apps/busybox/busybox-1.18.1.ebuild
new file mode 100644
index 000000000000..82a6559b09b5
--- /dev/null
+++ b/sys-apps/busybox/busybox-1.18.1.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/busybox-1.18.1.ebuild,v 1.1 2010/12/21 23:32:46 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.0-bb.patch b/sys-apps/busybox/files/busybox-1.18.0-bb.patch
new file mode 100644
index 000000000000..309d2430b3d2
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.18.0-bb.patch
@@ -0,0 +1,22 @@
+--- a/shell/ash.c
++++ b/shell/ash.c
+@@ -75,6 +75,8 @@
+ //applet:IF_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_DROP))
+ //applet:IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_DROP, sh))
+ //applet:IF_FEATURE_BASH_IS_ASH(APPLET_ODDNAME(bash, ash, _BB_DIR_BIN, _BB_SUID_DROP, bash))
++//applet:IF_ASH(APPLET_ODDNAME(bb, ash, _BB_DIR_BIN, _BB_SUID_DROP, ash))
++//applet:IF_ASH(APPLET_ODDNAME(bbsh, ash, _BB_DIR_BIN, _BB_SUID_DROP, ash))
+
+ //kbuild:lib-$(CONFIG_ASH) += ash.o ash_ptr_hack.o shell_common.o
+ //kbuild:lib-$(CONFIG_ASH_RANDOM_SUPPORT) += random.o
+--- a/shell/ash.c
++++ b/shell/ash.c
+@@ -7255,6 +7255,8 @@
+ }
+ /* re-exec ourselves with the new arguments */
+ execve(bb_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 */
+ }