summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2004-07-26 17:53:26 +0000
committerNed Ludd <solar@gentoo.org>2004-07-26 17:53:26 +0000
commit0dfa904481783e30ca0d1e37388cc1386b25e4fe (patch)
tree5c560710ea2e2d20244b7dbed22ebdc1ede95043 /sys-apps/busybox
parentchange homepage (diff)
downloadhistorical-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/ChangeLog9
-rw-r--r--sys-apps/busybox/Manifest4
-rw-r--r--sys-apps/busybox/busybox-1.0.0_pre20040726.ebuild221
-rw-r--r--sys-apps/busybox/files/digest-busybox-1.0.0_pre200407261
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