X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=busybox.spec;h=7a07c4d60a252a237f70f97fab3a1d6605d04949;hb=bef5923383167108e1747acfea4327caa9778846;hp=32b70243ac1206bc3d42ddbf910f1a48d8c123e0;hpb=c15e30581dd91c594a0e8f89e83a4368927402a6;p=packages%2Fbusybox.git diff --git a/busybox.spec b/busybox.spec index 32b7024..7a07c4d 100644 --- a/busybox.spec +++ b/busybox.spec @@ -10,6 +10,12 @@ # rpm --rebuild busybox.*.src.rpm --with altconfig --define "cfgfile bb-emb-config.h" %bcond_with altconfig # use alternative config (defined by cfgfile) %bcond_with linkfl # creates links to busybox binary and puts them into file list +%bcond_without static # don't build static version +%bcond_without initrd # don't build initrd version +%bcond_with dietlibc # build dietlibc-based initrd and static versions +%bcond_with glibc # build glibc-based initrd and static versions +%bcond_with verbose # verbose build +# # Options below are useful, when you want fileutils and grep providing. # For example, ash package requires fileutils and grep. %bcond_with fileutl_prov # adds fileutils providing @@ -20,11 +26,6 @@ # Fileutils, grep and shell provided with busybox have not such # functionality as their GNU countenders. # -%bcond_without static # don't build static version -%bcond_without initrd # don't build initrd version -%bcond_with dietlibc # build dietlibc-based initrd version -%bcond_with glibc # build glibc-based initrd version -# %ifnarch %{ix86} %{x8664} ppc %define with_glibc 1 %endif @@ -32,32 +33,29 @@ Summary: Set of common Unix utilities for embeded systems Summary(pl.UTF-8): Zestaw narzędzi uniksowych dla systemów wbudowanych Summary(pt_BR.UTF-8): BusyBox é um conjunto de utilitários UNIX em um único binário Name: busybox -Version: 1.9.0 +# stable line only +Version: 1.15.3 Release: 1 License: GPL Group: Applications Source0: http://www.busybox.net/downloads/%{name}-%{version}.tar.bz2 -# Source0-md5: 2a6e0df1fd2a77caa541a7e8002851cb +# Source0-md5: 6059ac9456de6fb18dc8ee4cd0ec9240 Source1: %{name}.config Source2: %{name}-initrd.config %{?with_altconfig:Source3: %{cfgfile}} Patch1: %{name}-logconsole.patch Patch2: %{name}-printf-gettext.patch Patch3: %{name}-loadfont.patch -Patch4: %{name}-ash_exec.patch -Patch5: %{name}-kernel_headers.patch -Patch6: %{name}-insmod-morearchs.patch -Patch7: %{name}-dhcp.patch -Patch8: %{name}-fix_64_archs.patch -Patch100: http://busybox.net/downloads/fixes-1.9.0/busybox-1.9.0-allno.patch -Patch101: http://busybox.net/downloads/fixes-1.9.0/busybox-1.9.0-iproute.patch -Patch102: http://busybox.net/downloads/fixes-1.9.0/busybox-1.9.0-nameif.patch +Patch4: %{name}-kernel_headers.patch +Patch5: %{name}-insmod-morearchs.patch +Patch6: %{name}-dhcp.patch +Patch7: %{name}-fix_64_archs.patch +Patch9: %{name}-ash-export-PATH.patch URL: http://www.busybox.net/ BuildRequires: gcc >= 3.2 BuildRequires: perl-tools-pod BuildRequires: rpmbuild(macros) >= 1.333 -%{?with_static:BuildRequires: glibc-static} -%if %{with initrd} +%if %{with initrd} || %{with static} %if %{with dietlibc} BuildRequires: dietlibc-static %else @@ -68,9 +66,9 @@ BuildRequires: glibc-static BuildRequires: cross%{_target_base_arch}-uClibc-static %else %ifarch ppc %{x8664} -BuildRequires: uClibc-static >= 2:0.9.29 +BuildRequires: uClibc-static >= 3:0.9.30.1 %else -BuildRequires: uClibc-static >= 2:0.9.21 +BuildRequires: uClibc-static >= 3:0.9.30.1 %endif %endif %endif @@ -82,7 +80,6 @@ BuildRequires: uClibc-static >= 2:0.9.21 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _bindir /bin -%define _initrd_bindir /bin %if "%{_target_base_arch}" != "%{_arch}" %define CrossOpts CROSS="%{_target_cpu}-pld-linux-" @@ -90,6 +87,8 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define CrossOpts %{nil} %endif +%define filterout_ld -Wl,-z,(combreloc|relro) + %description BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for most @@ -140,7 +139,7 @@ Statycznie skonsolidowany busybox. Summary: Static busybox for initrd Summary(pl.UTF-8): Statycznie skonsolidowany busybox dla initrd Group: Applications -Conflicts: geninitrd < 3075 +Conflicts: geninitrd < 10000.10 %description initrd Static busybox for initrd. @@ -150,9 +149,6 @@ Statycznie skonsolidowany busybox dla initrd. %prep %setup -q -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -160,7 +156,7 @@ Statycznie skonsolidowany busybox dla initrd. %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 +%patch9 -p1 %build install -d built @@ -168,11 +164,12 @@ install -d built install %{SOURCE2} .config %{__make} oldconfig %{__make} \ + %{?with_verbose:V=1} \ CROSS_CFLAGS="%{rpmcflags} -Os -D_BSD_SOURCE" \ LDFLAGS="%{ld_rpmldflags} -static" \ %if %{with dietlibc} LIBRARIES="-lrpc" \ - CC="diet gcc" + CC="diet %{__cc}" %else %if %{with glibc} %{CrossOpts} \ @@ -199,16 +196,31 @@ install %{SOURCE1} .config %if %{with static} %{__make} oldconfig %{__make} \ - %{CrossOpts} \ - CFLAGS_EXTRA="%{rpmcflags}" \ + %{?with_verbose:V=1} \ + CROSS_CFLAGS="%{rpmcflags} -Os -D_BSD_SOURCE" \ LDFLAGS="%{ld_rpmldflags} -static" \ +%if %{with dietlibc} + LIBRARIES="-lrpc" \ + CC="diet %{__cc}" +%else +%if %{with glibc} + %{CrossOpts} \ CC="%{__cc}" +%else + %if "%{_target_base_arch}" != "%{_arch}" + CROSS="%{_target_cpu}-uclibc-" \ + %endif + CC="%{_target_cpu}-uclibc-gcc" +%endif +%endif + mv -f busybox built/busybox.static %{__make} clean %endif %{__make} oldconfig %{__make} \ + %{?with_verbose:V=1} \ %{CrossOpts} \ CFLAGS_EXTRA="%{rpmcflags}" \ LDFLAGS="%{ld_rpmldflags}" \ @@ -217,10 +229,13 @@ mv -f busybox built/busybox.static %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_initrd_bindir},%{_bindir},%{_mandir}/man1,%{_libdir}/busybox} +install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_libdir}/busybox} %{?with_static:install built/busybox.static $RPM_BUILD_ROOT%{_bindir}} -%{?with_initrd:install built/busybox.initrd $RPM_BUILD_ROOT%{_initrd_bindir}/initrd-busybox} +%if %{with initrd} +install -d $RPM_BUILD_ROOT%{_libdir}/initrd +install built/busybox.initrd $RPM_BUILD_ROOT%{_libdir}/initrd/initrd-busybox +%endif install busybox.links $RPM_BUILD_ROOT%{_libdir}/busybox install docs/BusyBox.1 $RPM_BUILD_ROOT%{_mandir}/man1 @@ -262,5 +277,5 @@ rm -rf $RPM_BUILD_ROOT %if %{with initrd} %files initrd %defattr(644,root,root,755) -%attr(755,root,root) %{_initrd_bindir}/initrd-busybox +%attr(755,root,root) %{_libdir}/initrd/initrd-busybox %endif