# Maintainer: Natanael Copa pkgname=busybox pkgver=1.18.4 pkgrel=4 _bbsuidver=0.6 pkgdesc="Size optimized toolbox of many common UNIX utilities" url=http://busybox.net arch="all" license="GPL-2" depends= install="$pkgname.post-install $pkgname.post-upgrade" subpackages="$pkgname-static" triggers="busybox.trigger=/bin:/usr/bin:/sbin:/usr/sbin:/lib/modules/*" source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2 http://git.alpinelinux.org/cgit/bbsuid.git/snapshot/bbsuid-$_bbsuidver.tar.bz2 http://busybox.net/downloads/fixes-1.18.4/busybox-1.18.4-fuser.patch http://busybox.net/downloads/fixes-1.18.4/busybox-1.18.4-hush.patch $pkgname-1.11.1-bb.patch busybox-uname-is-not-gnu.patch loginutils-sha512.patch busyboxconfig" _builddir="$srcdir"/$pkgname-$pkgver _bbsuid="$srcdir"/bbsuid-$_bbsuidver _config="$srcdir"/busyboxconfig prepare() { cd "$_builddir" #patches for i in ../*.patch; do msg "Applying $i" if ! patch -p1 -i $i; then error "$i failed" return 1 fi done sed -i -e 's/(ip, _BB_DIR_BIN/(ip, _BB_DIR_SBIN/' \ -e 's/(lspci, _BB_DIR_USR_BIN/(lspci, _BB_DIR_USR_SBIN/' \ -e 's/(vi, _BB_DIR_BIN/(vi, _BB_DIR_USR_BIN/' \ include/applets.src.h || return 1 } build() { cd "$_bbsuid" make || return 1 cd "$_builddir" msg "Building static busybox" sed -e "s/.*CONFIG_PIE.*/\# CONFIG_PIE is not set/" \ -e "s/.*CONFIG_STATIC.*/CONFIG_STATIC=y/" \ "$_config" > .config make silentoldconfig || return 1 make || return 1 mv busybox busybox.static # build dynamic msg "Building dynamic busybox" cp "$_config" .config make silentoldconfig || return 1 make || return 1 } package() { cd "$_bbsuid" make install DESTDIR="$pkgdir" || return 1 cd "$_builddir" mkdir -p "$pkgdir"/usr/sbin "$pkgdir"/usr/bin "$pkgdir"/tmp \ "$pkgdir"/var/cache/misc "$pkgdir"/bin "$pkgdir"/sbin chmod 1777 "$pkgdir"/tmp install -m755 busybox "$pkgdir"/bin/busybox # we need /bin/sh to be able to execute post-install ln -s /bin/busybox "$pkgdir"/bin/sh } static() { mkdir -p "$subpkgdir"/bin install -m755 "$_builddir"/busybox.static \ "$subpkgdir"/bin/busybox.static } md5sums="b03c5b46ced732679e525a920a1a62f5 busybox-1.18.4.tar.bz2 968b3a058db04f95e9c4cdb44d7d3ddb bbsuid-0.6.tar.bz2 67a8bf1b82480bc36768d51c18e5a280 busybox-1.18.4-fuser.patch a81f2d7d3bdf1a35ab77c4414a530d38 busybox-1.18.4-hush.patch 4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch b5375210f13fd6e1ca61a565e8fabd35 busybox-uname-is-not-gnu.patch d21d70d590e9e04bfc65ecb23b9d1617 loginutils-sha512.patch cf688759721a35137c9654b995b186c5 busyboxconfig"