diff options
author | Ned Ludd <solar@gentoo.org> | 2004-07-26 17:53:26 +0000 |
---|---|---|
committer | Ned Ludd <solar@gentoo.org> | 2004-07-26 17:53:26 +0000 |
commit | 0dfa904481783e30ca0d1e37388cc1386b25e4fe (patch) | |
tree | 5c560710ea2e2d20244b7dbed22ebdc1ede95043 /sys-apps/busybox | |
parent | change homepage (diff) | |
download | historical-0dfa904481783e30ca0d1e37388cc1386b25e4fe.tar.gz historical-0dfa904481783e30ca0d1e37388cc1386b25e4fe.tar.bz2 historical-0dfa904481783e30ca0d1e37388cc1386b25e4fe.zip |
updated snapshot and forceable enable ash = sh. This fixes a problem in native uclibc environments with busybox and system(), popen() etc not working. (posix demands that a /bin/sh exist)
Diffstat (limited to 'sys-apps/busybox')
-rw-r--r-- | sys-apps/busybox/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/busybox/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/busybox/busybox-1.0.0_pre20040726.ebuild | 221 | ||||
-rw-r--r-- | sys-apps/busybox/files/digest-busybox-1.0.0_pre20040726 | 1 |
4 files changed, 233 insertions, 2 deletions
diff --git a/sys-apps/busybox/ChangeLog b/sys-apps/busybox/ChangeLog index baf8baba8fe5..b46f6ef0f005 100644 --- a/sys-apps/busybox/ChangeLog +++ b/sys-apps/busybox/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-apps/busybox # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.35 2004/07/21 13:13:49 solar Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.36 2004/07/26 17:53:26 solar Exp $ + +*busybox-1.0.0_pre20040726 (26 Jul 2004) + + 26 Jul 2004; <solar@gentoo.org> busybox-1.0.0_pre20040726.ebuild: + updated snapshot and forceable enable ash = sh. This fixes a problem in native + uclibc environments with busybox and system(), popen() etc not working. (posix + demands that a /bin/sh exist) *busybox-1.0.0_pre20040721 (21 Jul 2004) diff --git a/sys-apps/busybox/Manifest b/sys-apps/busybox/Manifest index d3e35b8b4bec..2cfb084f95fb 100644 --- a/sys-apps/busybox/Manifest +++ b/sys-apps/busybox/Manifest @@ -1,10 +1,11 @@ MD5 bc6b0e4b7611df0d97f0c380b9fa7c07 busybox-0.60.5-r1.ebuild 1407 +MD5 cb76e95c02747537c98b57b3eefb0bae busybox-1.0.0_pre20040726.ebuild 6064 MD5 4a0c2e0afd7d4403faccccb6350bca98 busybox-1.0.0_pre20040721.ebuild 5876 MD5 bb58878c35f17f5bad4aa060f1dcc25e busybox-0.60.3-r2.ebuild 1183 MD5 9e86b9ca59e72b18415a78c63f801a1c busybox-1.00_pre8.ebuild 5647 MD5 f98f75be102af5709caff4cf84eaeb90 busybox-0.60.3-r1.ebuild 1091 MD5 850bd351d581d0e98c74552826d24eae busybox-0.60.5-r2.ebuild 2280 -MD5 a8991f72dfa95a25176bd66550dc8434 ChangeLog 7183 +MD5 1bd31e3e0e815f8158f21419aecf535e ChangeLog 7488 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 MD5 9ce965b12114a360496fe06e952139a8 files/Config.h 11695 MD5 24ec3839ecb3e429bf29a819398b7753 files/Config.h-0.60.2-cd 13772 @@ -21,4 +22,5 @@ MD5 eed3465a5e0e5ddae7dac2c1c1f879ef files/digest-busybox-0.60.5-r1 66 MD5 eed3465a5e0e5ddae7dac2c1c1f879ef files/digest-busybox-0.60.5-r2 66 MD5 9af76647376bd7228609763aaad090e8 files/busybox-0.60.5-dietlibc.diff 13526 MD5 d47728f8dbd20dcc2afefc031b7e40be files/digest-busybox-1.0.0_pre20040721 70 +MD5 d011d58b98b5c94414b229858c6cb2c5 files/digest-busybox-1.0.0_pre20040726 70 MD5 3a4b93f7ec6f3aaade20029a81562b88 files/msh.diff 433 diff --git a/sys-apps/busybox/busybox-1.0.0_pre20040726.ebuild b/sys-apps/busybox/busybox-1.0.0_pre20040726.ebuild new file mode 100644 index 000000000000..5915220412a6 --- /dev/null +++ b/sys-apps/busybox/busybox-1.0.0_pre20040726.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/busybox-1.0.0_pre20040726.ebuild,v 1.1 2004/07/26 17:53:26 solar Exp $ + +inherit eutils + +DESCRIPTION="Utilities for rescue and embedded systems" +SNAPSHOT=20040726 +HOMEPAGE="http://www.busybox.net/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~ppc ~mips ~arm ~amd64" +IUSE="debug static savedconfig make-busybox-symlinks" +#IUSE="${IUSE} cross" + +MY_PV=${PV/_/-} + +if [ "$SNAPSHOT" != "" ]; then + MY_P=${PN} + SRC_URI="http://www.busybox.net/downloads/snapshots/${PN}-${SNAPSHOT}.tar.bz2" +else + MY_P=${PN}-${MY_PV} + SRC_URI="http://www.busybox.net/downloads/${MY_P}.tar.gz" +fi + +S=${WORKDIR}/${MY_P} + +DEPEND="virtual/libc + !amd64? ( uclibc? ( dev-libs/uclibc ) ) + >=sys-apps/sed-4" + +RDEPEND="!static? ( ${DEPEND} )" + +# <pebenito> then eventually turning on selinux would mean +# adding a dep: selinux? ( sys-libs/libselinux ) + +busybox_config_option() { + [ "$2" = "" ] && return 1 + 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;; + *) return 1;; + esac + einfo `grep CONFIG_$2 .config` +} + +src_unpack() { + unpack ${A} + cd ${S} + + use amd64 && epatch ${FILESDIR}/${P}-amd64.patch + + # check for a busybox config before making one of our own. + # if one exist lets return and use it. + # fine grained config control for user defined busybox configs. + # [package]-[version]-[revision].config + # [package]-[version].config + # [package].config + + if use savedconfig ; then + [ -r .config ] && rm .config + for conf in {${PN}-${PV}-${PR},${PN}-${PV},${PN}}.config; do + if [ -r /etc/${PN}/${CCHOST}/${conf} ]; then + cp /etc/${PN}/${CCHOST}/${conf} ${S}/.config + break; + fi + done + if [ -r "${S}/.config" ]; then + einfo "Found your /etc/${PN}/${CCHOST}/${conf} and using it." + return 0 + fi + fi + + # busybox has changed quite a bit from 0.[5-6]* to 1.x so this + # config might not be cd ready. + + make allyesconfig > /dev/null + busybox_config_option n DMALLOC + busybox_config_option n FEATURE_SUID + + # 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 + + # setting the cross compiler from here would be somewhat of a + # pain do to as we would need a multiline sed expression which + # does not always seem to work so hot for me. + + use static \ + && busybox_config_option y STATIC \ + || busybox_config_option n STATIC + + # 1.00-pre2 uses the old selinux api which is no longer + # maintained. perhaps the next stable release will include + # support. + # 1.00-pre5 pebenito says busybox is still using the old se api. + #use selinux \ + # && busybox_config_option y SELINUX \ + # || + busybox_config_option n SELINUX + + use debug \ + && busybox_config_option y DEBUG \ + || busybox_config_option n DEBUG + + # Supported architectures: + + # Busybox in general will build on any architecture supported by + # gcc. It has a few specialized features added for __sparc__ + # and __alpha__. insmod functionality is currently limited to + # x86, ARM, SH3/4, powerpc, m68k, MIPS, and v850e. + case ${ARCH} in + alpha|sparc*) + # non x86 needs to figure out what works for + # them the best. sparc64 bobmed while building + # ash in my tests + busybox_config_option n INSMOD + busybox_config_option n MODPROBE + busybox_config_option n RMMOD;; + *) ;; + esac + + #busybox_features=`grep CONFIG_ .config | tr '#' '\n' | + # awk '{print $1}' | cut -d = -f 1 | grep -v ^$ | cut -c 8- | + # tr [A-Z] [a-z] | awk '{print "busybox_"$1}'` + #for f in $busybox_features; do + # has $f ${FEATURES} && busybox_config_option y `echo ${f/busybox_/}|tr [a-z] [A-Z]` + #done + ( echo | make clean oldconfig > /dev/null ) || : +} + +busybox_set_cross_compiler() { + return 0 + # revisit this another day. + #if use cross ; then + # case ${ARCH} in + # x86*) CROSS="/usr/i386-linux-uclibc/bin/i386-uclibc-";; + # *) ;; + # esac + #fi + [ -n "${CROSS}" ] && einfo "Setting cross compiler prefix to ${CROSS}" +} + +src_compile() { + busybox_set_cross_compiler + #emake -j1 CROSS="${CROSS}" include/config.h busybox || die + emake -j1 CROSS="${CROSS}" busybox || die +} + +src_install() { + busybox_set_cross_compiler + + into / + dobin busybox + if use make-busybox-symlinks ; then + make CROSS="${CROSS}" install || die + dodir /bin + cp -a _install/bin/* ${D}/bin/ + dodir /sbin + cp -a _install/sbin/* ${D}/sbin/ + cd ${D} + local symlink + for symlink in {bin,sbin}/* ; do + [ -L "${symlink}" ] || continue + [ -e "${ROOT}/${symlink}" ] \ + && eerror "Deleting symlink ${symlink} because it exists in ${ROOT}" \ + && rm ${symlink} + done + cd ${S} + fi + + dodoc AUTHORS Changelog LICENSE README TODO + + cd docs || die + docinto txt + dodoc *.txt + docinto pod + dodoc *.pod + dohtml *.html *.sgml + + # no man files? + # cd ../man && doman *.1 + + cd ../examples || die + docinto examples + dodoc inittab depmod.pl + + cd bootfloppy || die + docinto bootfloppy + dodoc bootfloppy.txt display.txt mkdevs.sh etc/* etc/init.d/* 2>/dev/null + + cd ../../ || die + if [ `has buildpkg ${FEATURES}` -a `has keepwork ${FEATURES}` ]; then + cd ${S} + # this should install to the ./_install/ dir by default. + # we make a micro pkg of busybox that can be used for + # embedded systems -solar + if ! use make-busybox-symlinks ; then + make CROSS="${CROSS}" install || die + fi + cd ./_install/ \ + && tar --no-same-owner -jcvf ${WORKDIR}/${MY_P}-${ARCH}.bz2 . \ + && cd .. + fi + + if use savedconfig ; then + einfo "Saving this build config to /etc/${PN}/${CCHOST}/${PN}-${PV}-${PR}.config" + einfo "Read this ebuild for more info on how to take advantage of this option" + insinto /etc/${PN}/${CCHOST}/ + newins ${S}/.config ${PN}-${PV}-${PR}.config + fi +} + +pkg_postinst() { + 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/digest-busybox-1.0.0_pre20040726 b/sys-apps/busybox/files/digest-busybox-1.0.0_pre20040726 new file mode 100644 index 000000000000..d04b6a066ef1 --- /dev/null +++ b/sys-apps/busybox/files/digest-busybox-1.0.0_pre20040726 @@ -0,0 +1 @@ +MD5 e523798760db4779a473983347382ef6 busybox-20040726.tar.bz2 1122388 |