]> git.pld-linux.org Git - packages/busybox.git/blobdiff - busybox.spec
- up to 1.15.3; rel 1; stbr
[packages/busybox.git] / busybox.spec
index 062781fe538e5f338796359de71443f2b75c1bb8..7a07c4d60a252a237f70f97fab3a1d6605d04949 100644 (file)
 #      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
 # 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 sparc64
+%ifnarch %{ix86} %{x8664} ppc
 %define with_glibc 1
 %endif
-Summary:       Set of common unix utils for embeded systems
+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.6.1
+# 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: c99a523b403d04772ac5f8dec52f107e
+# 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
+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
@@ -65,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
@@ -79,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-"
@@ -87,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
@@ -137,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.
@@ -154,7 +156,7 @@ Statycznie skonsolidowany busybox dla initrd.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-%patch8 -p1
+%patch9 -p1
 
 %build
 install -d built
@@ -162,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} \
@@ -193,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}" \
@@ -211,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
@@ -256,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
This page took 0.041979 seconds and 4 git commands to generate.