]> git.pld-linux.org Git - packages/busybox.git/blobdiff - busybox.spec
- up to 1.24.2
[packages/busybox.git] / busybox.spec
index 6b7a58b8bbab1027d15eccc62805cb6ef9413530..e7df2bfb506333f9cbaad742b1274b9d00cbb6a9 100644 (file)
@@ -1,21 +1,24 @@
 # 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 (initrd)
-#        or when /proc is not mounted (static / normal)
+# - review patch 3. Updated to 1.17.3, but the code changed so much it's unclear
+#   if it still serves a purpose
+# - 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 (initrd)
+#   or when /proc is not mounted (static / normal)
 #
 # Conditional build:
 # alternative busybox config file (replaces default one) you should
 # define cfgfile macro, i.e.
 #
 #      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 dynamic         # don't build dynamic (base) version
 %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
-#
+%bcond_without 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
 # functionality as their GNU countenders.
 #
 %ifnarch %{ix86} %{x8664} ppc
-%define with_glibc 1
+%define                with_glibc      1
+%endif
+%ifarch x32
+# until uClibc builds on x32
+%undefine      with_static
 %endif
 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
 # stable line only
-Version:       1.13.3
-Release:       2
-License:       GPL
+Version:       1.24.2
+Release:       1
+License:       GPL v2
 Group:         Applications
 Source0:       http://www.busybox.net/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 0cde6d2790e790837d6d7e82faae3ca1
+# Source0-md5: 2eaae519cac1143bcf583636a745381f
 Source1:       %{name}.config
 Source2:       %{name}-initrd.config
 %{?with_altconfig:Source3:     %{cfgfile}}
+Patch100:      https://busybox.net/downloads/fixes-1.24.2/busybox-1.24.2-CVE-2016-2147.patch
+# Patch100-md5:        c45a85f5ced712743efbb683900f8c1d
+Patch101:      https://busybox.net/downloads/fixes-1.24.2/busybox-1.24.2-CVE-2016-2148.patch
+# Patch101-md5:        850a57ca2871e370b4916161a0320a3f
+Patch102:      https://busybox.net/downloads/fixes-1.24.2/busybox-1.24.2-ash-recursive-heredocs.patch
+# Patch102-md5:        b59eb7536609db1ab5215de860d9e558
+Patch0:                x32.patch
 Patch1:                %{name}-logconsole.patch
 Patch2:                %{name}-printf-gettext.patch
 Patch3:                %{name}-loadfont.patch
@@ -54,7 +68,7 @@ Patch9:               %{name}-ash-export-PATH.patch
 URL:           http://www.busybox.net/
 BuildRequires: gcc >= 3.2
 BuildRequires: perl-tools-pod
-BuildRequires: rpmbuild(macros) >= 1.333
+BuildRequires: rpmbuild(macros) >= 1.652
 %if %{with initrd} || %{with static}
        %if %{with dietlibc}
 BuildRequires: dietlibc-static
@@ -62,7 +76,7 @@ BuildRequires:        dietlibc-static
                %if %{with glibc}
 BuildRequires: glibc-static
                %else
-%if "%{_target_base_arch}" != "%{_arch}"
+%if "%{_target_base_arch}" != "%{_host_base_arch}"
 BuildRequires: cross%{_target_base_arch}-uClibc-static
 %else
        %ifarch ppc %{x8664}
@@ -74,14 +88,14 @@ BuildRequires:      uClibc-static >= 3:0.9.30.1
                %endif
        %endif
 %endif
+%{?with_sh_prov:Provides:      /bin/sh}
 %{?with_fileutl_prov:Provides: fileutils}
 %{?with_grep_prov:Provides:    grep}
-%{?with_sh_prov:Provides:      /bin/sh}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _bindir         /bin
 
-%if "%{_target_base_arch}" != "%{_arch}"
+%if "%{_target_base_arch}" != "%{_host_base_arch}"
        %define CrossOpts CROSS="%{_target_cpu}-pld-linux-"
 %else
        %define CrossOpts %{nil}
@@ -138,8 +152,8 @@ Statycznie skonsolidowany busybox.
 %package initrd
 Summary:       Static busybox for initrd
 Summary(pl.UTF-8):     Statycznie skonsolidowany busybox dla initrd
-Group:         Applications
-Conflicts:     geninitrd <= 10000.3
+Group:         Base
+Conflicts:     geninitrd < 10000.20
 
 %description initrd
 Static busybox for initrd.
@@ -149,9 +163,14 @@ Statycznie skonsolidowany busybox dla initrd.
 
 %prep
 %setup -q
+%patch100 -p1
+%patch101 -p1
+%patch102 -p1
+
+%patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
+#%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
@@ -166,7 +185,7 @@ install %{SOURCE2} .config
 %{__make} \
        %{?with_verbose:V=1} \
        CROSS_CFLAGS="%{rpmcflags} -Os -D_BSD_SOURCE" \
-       LDFLAGS="%{ld_rpmldflags} -static" \
+       LDFLAGS="%{rpmldflags} -static" \
 %if %{with dietlibc}
        LIBRARIES="-lrpc" \
        CC="diet %{__cc}"
@@ -175,9 +194,9 @@ install %{SOURCE2} .config
        %{CrossOpts} \
        CC="%{__cc}"
 %else
-    %if "%{_target_base_arch}" != "%{_arch}"
+       %if "%{_target_base_arch}" != "%{_host_base_arch}"
        CROSS="%{_target_cpu}-uclibc-" \
-    %endif
+       %endif
        CC="%{_target_cpu}-uclibc-gcc"
 %endif
 %endif
@@ -186,7 +205,6 @@ mv -f busybox built/busybox.initrd
 %{__make} clean
 %endif
 
-
 %if %{with altconfig}
 install %{SOURCE3} .config
 %else
@@ -198,7 +216,7 @@ install %{SOURCE1} .config
 %{__make} \
        %{?with_verbose:V=1} \
        CROSS_CFLAGS="%{rpmcflags} -Os -D_BSD_SOURCE" \
-       LDFLAGS="%{ld_rpmldflags} -static" \
+       LDFLAGS="%{rpmldflags} -static" \
 %if %{with dietlibc}
        LIBRARIES="-lrpc" \
        CC="diet %{__cc}"
@@ -207,9 +225,9 @@ install %{SOURCE1} .config
        %{CrossOpts} \
        CC="%{__cc}"
 %else
-    %if "%{_target_base_arch}" != "%{_arch}"
+       %if "%{_target_base_arch}" != "%{_host_base_arch}"
        CROSS="%{_target_cpu}-uclibc-" \
-    %endif
+       %endif
        CC="%{_target_cpu}-uclibc-gcc"
 %endif
 %endif
@@ -218,28 +236,34 @@ mv -f busybox built/busybox.static
 %{__make} clean
 %endif
 
+%if %{with dynamic}
 %{__make} oldconfig
 %{__make} \
        %{?with_verbose:V=1} \
        %{CrossOpts} \
        CFLAGS_EXTRA="%{rpmcflags}" \
-       LDFLAGS="%{ld_rpmldflags}" \
+       LDFLAGS="%{rpmldflags}" \
        CC="%{__cc}"
-%{__make} busybox.links docs/BusyBox.1
+%{__make} busybox.links docs/busybox.1
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_initrd_bindir},%{_bindir},%{_mandir}/man1,%{_libdir}/busybox}
 
-%{?with_static:install built/busybox.static $RPM_BUILD_ROOT%{_bindir}}
+%if %{with static}
+install -d $RPM_BUILD_ROOT%{_bindir}
+install built/busybox.static $RPM_BUILD_ROOT%{_bindir}
+%endif
+
 %if %{with initrd}
 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
 install built/busybox.initrd $RPM_BUILD_ROOT%{_libdir}/initrd/busybox
 %endif
 
+%if %{with dynamic}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_libdir}/busybox}
 install busybox.links $RPM_BUILD_ROOT%{_libdir}/busybox
-install docs/BusyBox.1 $RPM_BUILD_ROOT%{_mandir}/man1
-echo ".so BusyBox.1" > $RPM_BUILD_ROOT%{_mandir}/man1/busybox.1
+install docs/busybox.1 $RPM_BUILD_ROOT%{_mandir}/man1
 
 # install links to busybox binary, when linkfl is defined
 %if %{with linkfl}
@@ -248,10 +272,12 @@ echo ".so BusyBox.1" > $RPM_BUILD_ROOT%{_mandir}/man1/busybox.1
 %else
 install busybox $RPM_BUILD_ROOT%{_bindir}
 %endif
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%if %{with dynamic}
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS README .config
@@ -266,7 +292,8 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %{_libdir}/busybox
-%{_mandir}/man1/*
+%{_mandir}/man1/busybox.1*
+%endif
 
 %if %{with static}
 %files static
This page took 0.082703 seconds and 4 git commands to generate.