[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