]> git.pld-linux.org Git - packages/busybox.git/blobdiff - busybox.spec
- updated to 1.3.1, updated configs
[packages/busybox.git] / busybox.spec
index 868ab9cc8719c474c1d0e6586c3736960825c22b..6e43c89a4e9d807549bd2dd14209bebdb61a8aa7 100644 (file)
@@ -1,6 +1,7 @@
 # TODO:
 #      - sparc64 modules support in sparc(32), x86_64 modules support in i386 version
-#      - make internal commands work even if busybox is not in /bin/busybox
+#      - make internal commands work even if busybox is not in /bin/busybox (initrd)
+#        or when /proc is not mounted (static / normal)
 #
 # Conditional build:
 # alternative busybox config file (replaces default one) you should
@@ -24,7 +25,7 @@
 #%%bcond_with  dietlibc        # build dietlibc-based initrd version
 %bcond_with    glibc           # build glibc-based initrd version
 #
-%ifnarch %{ix86} %{x8664} ppc
+%ifnarch %{ix86} %{x8664} ppc sparc64
 %define with_glibc 1
 %endif
 %ifarch ppc
@@ -34,16 +35,15 @@ Summary:    Set of common unix utils for embeded systems
 Summary(pl):   Zestaw narzêdzi uniksowych dla systemów wbudowanych
 Summary(pt_BR):        BusyBox é um conjunto de utilitários UNIX em um único binário
 Name:          busybox
-Version:       1.2.0
+Version:       1.3.1
 Release:       1
 License:       GPL
 Group:         Applications
 Source0:       http://www.busybox.net/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 0a3e5d47adc4debda22726295f40a6f2
+# Source0-md5: 571531cfa83726947ccb566de017ad4f
 Source1:       %{name}.config
 Source2:       %{name}-initrd.config
 %{?with_altconfig:Source3:     %{cfgfile}}
-Patch0:                %{name}-fixes.patch
 Patch1:                %{name}-logconsole.patch
 Patch2:                %{name}-printf-gettext.patch
 Patch3:                %{name}-loadfont.patch
@@ -52,8 +52,11 @@ Patch5:              %{name}-kernel_headers.patch
 Patch6:                %{name}-insmod-morearchs.patch
 Patch7:                %{name}-dhcp.patch
 Patch8:                %{name}-fix_64_archs.patch
+Patch9:                %{name}-LFS.patch
+Patch10:       %{name}-noshadow.patch
 URL:           http://www.busybox.net/
 BuildRequires: gcc >= 3.2
+BuildRequires: perl-tools-pod
 %{?with_static:BuildRequires:  glibc-static}
 %if %{with initrd}
        %if %{with dietlibc}
@@ -62,10 +65,14 @@ BuildRequires:      dietlibc-static
                %if %{with glibc}
 BuildRequires: glibc-static
                %else
-%ifarch ppc %{x8664}
-BuildRequires: uClibc-static >= 2:0.9.29
+%if "%{_target_base_arch}" != "%{_arch}"
+BuildRequires: cross%{_target_base_arch}-uClibc-static
 %else
+       %ifarch ppc %{x8664}
+BuildRequires: uClibc-static >= 2:0.9.29
+       %else
 BuildRequires: uClibc-static >= 2:0.9.21
+       %endif
 %endif
                %endif
        %endif
@@ -75,9 +82,16 @@ BuildRequires:       uClibc-static >= 2:0.9.21
 %{?with_sh_prov:Provides:      /bin/sh}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-
 %define                _bindir         /bin
 %define                _initrd_bindir  /bin
+# ld is used to link applets
+%define                filterout_ld    -Wl,--as-needed
+
+%if "%{_target_base_arch}" != "%{_arch}"
+       %define CrossOpts CROSS="%{_target_cpu}-pld-linux-"
+%else
+       %define CrossOpts %{nil}
+%endif
 
 %description
 BusyBox combines tiny versions of many common UNIX utilities into a
@@ -139,7 +153,6 @@ Statycznie skonsolidowany busybox dla initrd.
 
 %prep
 %setup -q
-%patch0 -p0
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
@@ -148,10 +161,11 @@ Statycznie skonsolidowany busybox dla initrd.
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
+%patch9 -p1
+%patch10 -p1
 
 %build
-install %{SOURCE1} .config
-
+install -d built
 %if %{with initrd}
 install %{SOURCE2} .config
 %{__make} oldconfig
@@ -163,43 +177,52 @@ install %{SOURCE2} .config
        CC="diet gcc"
 %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 busybox.initrd
+mv -f busybox built/busybox.initrd
 %{__make} clean
-install %{SOURCE1} .config
 %endif
 
+
 %if %{with altconfig}
 install %{SOURCE3} .config
+%else
+install %{SOURCE1} .config
 %endif
 
 %if %{with static}
 %{__make} oldconfig
 %{__make} \
+       %{CrossOpts} \
        CFLAGS_EXTRA="%{rpmcflags}" \
        LDFLAGS="%{rpmldflags} -static" \
        CC="%{__cc}"
-mv -f busybox busybox.static
+mv -f busybox built/busybox.static
 %{__make} clean
 %endif
 
 %{__make} oldconfig
 %{__make} \
+       %{CrossOpts} \
        CFLAGS_EXTRA="%{rpmcflags}" \
        LDFLAGS="%{rpmldflags}" \
        CC="%{__cc}"
+%{__make} busybox.links docs/BusyBox.1
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_initrd_bindir},%{_bindir},%{_mandir}/man1,%{_libdir}/busybox}
 
-%{?with_static:install busybox.static $RPM_BUILD_ROOT%{_bindir}}
-%{?with_initrd:install busybox.initrd $RPM_BUILD_ROOT%{_initrd_bindir}/initrd-busybox}
+%{?with_static:install built/busybox.static $RPM_BUILD_ROOT%{_bindir}}
+%{?with_initrd:install built/busybox.initrd $RPM_BUILD_ROOT%{_initrd_bindir}/initrd-busybox}
 
 install busybox.links $RPM_BUILD_ROOT%{_libdir}/busybox
 install docs/BusyBox.1 $RPM_BUILD_ROOT%{_mandir}/man1
This page took 0.055357 seconds and 4 git commands to generate.