[busybox] update to 1.18.2, use system uClibc

Tom Callaway spot at fedoraproject.org
Mon Feb 7 20:13:30 UTC 2011


commit add96cae306c459666f2d89fe6e48b439bf566ad
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Mon Feb 7 15:14:35 2011 -0500

    update to 1.18.2, use system uClibc

 .gitignore   |    1 +
 busybox.spec |   62 +++++++++++++++++++--------------------------------------
 sources      |    3 +-
 3 files changed, 23 insertions(+), 43 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d9504ea..8051ed9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 uClibc-0.9.30.1.tar.bz2
 busybox-1.14.1.tar.bz2
 busybox-1.15.1.tar.bz2
+/busybox-1.18.2.tar.bz2
diff --git a/busybox.spec b/busybox.spec
index 80bbddd..8f68131 100644
--- a/busybox.spec
+++ b/busybox.spec
@@ -1,24 +1,15 @@
 Summary: Statically linked binary providing simplified versions of system commands
 Name: busybox
-Version: 1.15.1
-Release: 10%{?dist}
+Version: 1.18.2
+Release: 1%{?dist}
 Epoch: 1
 License: GPLv2
 Group: System Environment/Shells
 Source: http://www.busybox.net/downloads/%{name}-%{version}.tar.bz2
 Source1: busybox-static.config
 Source2: busybox-petitboot.config
-Source3: http://www.uclibc.org/downloads/uClibc-0.9.30.1.tar.bz2
-Source4: uClibc.config
 Patch16: busybox-1.10.1-hwclock.patch
-# patch to avoid conflicts with getline() from stdio.h, already present in upstream VCS
-Patch22: uClibc-0.9.30.1-getline.patch
-Patch23: busybox-1.15.1-man.patch
-Patch24: uClibc-0.9.30.1-utmp.patch
 Patch25: busybox-1.15.1-uname.patch
-Patch26: uClibc-0.9.30.1-etc_localtime.patch
-Patch27: busybox-1.15.1-build_system.patch
-Patch28: busybox-1.15.1-man_db.patch
 Obsoletes: busybox-anaconda
 URL: http://www.busybox.net
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -27,6 +18,9 @@ BuildRequires: libsepol-devel
 BuildRequires: libselinux-static
 BuildRequires: libsepol-static
 BuildRequires: glibc-static
+# This package used to include a bundled copy of uClibc, but we now
+# use the system copy.
+BuildRequires: uClibc-static
 
 %define debug_package %{nil}
 
@@ -48,40 +42,16 @@ bootloader used on PlayStation 3. The busybox package provides a binary
 better suited to normal use.
 
 %prep
-%setup -q -a3
+%setup -q
 %patch16 -b .ia64 -p1
-cat %{SOURCE4} >uClibc-0.9.30.1/.config1
-%patch22 -b .getline -p1
-%patch23 -b .man -p1
-%patch24 -b .utmp -p1
 %patch25 -b .uname -p1
-%patch26 -b .etc_localtime -p1
-%patch27 -b .build_system -p1
-%patch28 -b .man_db -p1
 
 %build
 # create static busybox - the executable is kept as busybox-static
 # We use uclibc instead of system glibc, uclibc is several times
 # smaller, this is important for static build.
-# Build uclibc first.
-cd uClibc-0.9.30.1
-# fixme:
-mkdir kernel-include
-cp -a /usr/include/asm kernel-include
-cp -a /usr/include/asm-generic kernel-include
-cp -a /usr/include/linux kernel-include
 # uclibc can't be built on ppc64,s390,ia64, we set $arch to "" in this case
 arch=`uname -m | sed -e 's/i.86/i386/' -e 's/ppc/powerpc/' -e 's/ppc64//' -e 's/powerpc64//' -e 's/ia64//' -e 's/s390.*//'`
-echo "TARGET_$arch=y" >.config
-echo "TARGET_ARCH=\"$arch\"" >>.config
-cat .config1 >>.config
-if test "$arch"; then yes "" | make oldconfig; fi
-if test "$arch"; then cat .config; fi
-if test "$arch"; then make V=1; fi
-if test "$arch"; then make install; fi
-if test "$arch"; then make install_kernel_headers; fi
-cd ..
-# we are back in busybox-NN.MM dir now
 cp %{SOURCE1} .config
 # set all new options to defaults
 yes "" | make oldconfig
@@ -93,14 +63,14 @@ if test "$arch"; then \
     yes "" | make oldconfig && \
     cat .config && \
     make V=1 \
-        EXTRA_CFLAGS="-isystem uClibc-0.9.30.1/installed/include" \
-        CFLAGS_busybox="-static -nostartfiles -LuClibc-0.9.30.1/installed/lib uClibc-0.9.30.1/installed/lib/crt1.o uClibc-0.9.30.1/installed/lib/crti.o uClibc-0.9.30.1/installed/lib/crtn.o"; \
+        EXTRA_CFLAGS="-isystem %{_includedir}/uClibc" \
+        CFLAGS_busybox="-static -nostartfiles -L%{_libdir}/uClibc %{_libdir}/uClibc/crt1.o %{_libdir}/uClibc/crti.o %{_libdir}/uClibc/crtn.o"; \
 else \
     cat .config && \
     make V=1 CC="gcc $RPM_OPT_FLAGS"; \
 fi
 cp busybox busybox.static
-cp docs/BusyBox.1 docs/busybox.static.1
+cp docs/busybox.1 docs/busybox.static.1
 
 # create busybox optimized for petitboot
 make clean
@@ -108,9 +78,15 @@ make clean
 cp %{SOURCE2} .config
 # set all new options to defaults
 yes "" | make oldconfig
-make V=1 CC="%__cc $RPM_OPT_FLAGS"
+if test "$arch"; then \
+    make V=1 \
+        EXTRA_CFLAGS="-isystem %{_includedir}/uClibc" \
+        CFLAGS_busybox="-static -nostartfiles -L%{_libdir}/uClibc %{_libdir}/uClibc/crt1.o %{_libdir}/uClibc/crti.o %{_libdir}/uClibc/crtn.o"; \
+else \
+    make V=1 CC="%__cc $RPM_OPT_FLAGS"; \
+fi
 cp busybox busybox.petitboot
-cp docs/BusyBox.1 docs/busybox.petitboot.1
+cp docs/busybox.1 docs/busybox.petitboot.1
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -137,6 +113,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/busybox.petitboot.1.gz
 
 %changelog
+* Mon Feb  7 2011 Tom Callaway <spot at fedoraproject.org> - 1:1.18.2-1
+- update to 1.18.2
+- use system uClibc
+
 * Mon Oct  4 2010 Denys Vlasenko <dvlasenk at redhat.com> - 1:1.15.1-10
 - add compatibility with man-db config file (#639461)
 
diff --git a/sources b/sources
index 10bfa4b..7470258 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-1a4b84e5536ad8170563ffa88c34679c  uClibc-0.9.30.1.tar.bz2
-e67a98eef14212abfc265092e4683fbe  busybox-1.15.1.tar.bz2
+69a82091e5710b72db5ce0e14e7c0cd7  busybox-1.18.2.tar.bz2


More information about the scm-commits mailing list