# functionality as their GNU countenders.
%bcond_without static # don't build static version
+%bcond_without initrd # don't build initrd version
+%define pre pre2
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: 0.60.5
-Release: 1
+Version: 1.00
+Release: 0.%{pre}.1
License: GPL
Group: Applications
-Source0: http://www.busybox.net/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 79d244d5adbb048f1aa0d90ee9e187e4
-%{!?with_altconfig:Source1: %{name}-config.h}
-%{?with_altconfig:Source1: %{cfgfile}}
+Source0: http://www.busybox.net/downloads/%{name}-%{version}-pre2.tar.bz2
+# Source0-md5: 06e433389a8b34ce1031a144ba5677d1
+Source1: %{name}.config
+Source2: %{name}-initrd.config
+%{?with_altconfig:Source3: %{cfgfile}}
Patch0: %{name}-logconsole.patch
Patch1: %{name}-tee.patch
Patch3: %{name}-printf-gettext.patch
Patch4: %{name}-loadfont.patch
-Patch5: %{name}-cread.patch
+Patch5: %{name}-pivot_root.patch
Patch6: %{name}-malloc.patch
-Patch7: %{name}-pivot_root.patch
-Patch8: %{name}-child.patch
+Patch7: %{name}-raid_start.patch
+Patch8: %{name}-insmod_ng.patch
+Patch100: %{name}-config.patch
+Patch101: %{name}-initrd-config.patch
URL: http://www.busybox.net/
%{?with_fileutl_prov:Provides: fileutils}
%{?with_grep_prov:Provides: grep}
%{?with_sh_prov:Provides: /bin/sh}
%{?with_static:BuildRequires: glibc-static}
+%{?with_initrd:BuildRequires: dietlibc-static}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%description static -l pl
Statycznie linkowany busybox.
+%package initrd
+Summary: Static busybox for initrd
+Summary(pl): Statycznie linkowany busybox dla initrd
+Group: Applications
+
+%description initrd
+Static busybox for initrd.
+
+%description initrd -l pl
+Statycznie linkowany busybox dla initrd.
+
%prep
-%setup -q
+%setup -q -n %{name}-%{version}-%{pre}
%patch0 -p1
%patch1 -p1
-%patch3 -p1
+#X %patch3 -p1 // UPDATE ME
%patch4 -p1
-#%patch5 -p1
-#%patch6 -p1
+%patch5 -p1
+#%patch6 -p1 // not needed
%patch7 -p1
-#%patch8 -p1
+%patch8 -p1
%build
-cp -f %{SOURCE1} Config.h
+install %{SOURCE1} .config
-%if %{with static}
+%if %{with altconfig}
+install %{SOURCE3} .config
+%endif
+
+%if %{with initrd}
+install %{SOURCE2} .config
+%{__make} oldconfig
%{__make} \
+ CFLAGS_EXTRA="%{rpmcflags} -D_BSD_SOURCE" \
+ LDFLAGS="%{rpmldflags} -static" \
+ LIBRARIES="-lrpc" \
+ CC="diet gcc"
+mv -f busybox busybox.initrd
+%{__make} clean
+install %{SOURCE1} .config
+%endif
+
+%if %{with static}
+%{__make} oldconfig
+%{__make} \
CFLAGS_EXTRA="%{rpmcflags}" \
- LDFLAGS="%{rpmldflags} -static"
+ LDFLAGS="%{rpmldflags} -static" \
+ CC="%{__cc}"
mv -f busybox busybox.static
%{__make} clean
%endif
+%{__make} oldconfig
%{__make} \
CFLAGS_EXTRA="%{rpmcflags}" \
LDFLAGS="%{rpmldflags}" \
install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_libdir}/busybox}
%{?with_static:install busybox.static $RPM_BUILD_ROOT%{_bindir}}
+%{?with_initrd:install busybox.initrd $RPM_BUILD_ROOT%{_bindir}}
install busybox.links $RPM_BUILD_ROOT%{_libdir}/busybox
install docs/BusyBox.1 $RPM_BUILD_ROOT%{_mandir}/man1
%files
%defattr(644,root,root,755)
-%doc AUTHORS TODO Changelog README Config.h
+%doc AUTHORS TODO Changelog README .config
%if %{with linkfl}
%attr(755,root,root) /bin/*
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/busybox.static
%endif
+
+%if %{with initrd}
+%files initrd
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/busybox.initrd
+%endif