forked from pool/busybox
5689b35720
- prepare usrmerge (boo#1029961) OBS-URL: https://build.opensuse.org/request/show/852893 OBS-URL: https://build.opensuse.org/package/show/Base:System/busybox?expand=0&rev=78
144 lines
4.5 KiB
RPMSpec
144 lines
4.5 KiB
RPMSpec
#
|
|
# spec file for package busybox
|
|
#
|
|
# Copyright (c) 2020 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: busybox
|
|
Version: 1.32.0
|
|
Release: 0
|
|
Summary: Minimalist variant of UNIX utilities linked in a single executable
|
|
License: GPL-2.0-or-later
|
|
Group: System/Base
|
|
URL: http://www.busybox.net/
|
|
Source: http://busybox.net/downloads/%{name}-%{version}.tar.bz2
|
|
Source1: BusyBox.1
|
|
Source2: busybox.config
|
|
Source3: busybox-static.config
|
|
Source4: man.conf
|
|
# other patches
|
|
Patch100: busybox.install.patch
|
|
Provides: useradd_or_adduser_dep
|
|
BuildRequires: glibc-devel-static
|
|
BuildRequires: pkgconfig(libselinux)
|
|
# for test suite
|
|
BuildRequires: zip
|
|
Requires: group(nogroup)
|
|
|
|
%description
|
|
BusyBox combines tiny versions of many common UNIX utilities into a
|
|
single executable. It provides minimalist replacements for utilities
|
|
usually found in fileutils, shellutils, findutils, textutils, grep,
|
|
gzip, tar, and more. BusyBox provides a fairly complete POSIX
|
|
environment for small or embedded systems. The utilities in BusyBox
|
|
generally have fewer options than their GNU cousins. The options that
|
|
are included provide the expected functionality and behave much like
|
|
their GNU counterparts.
|
|
|
|
%package static
|
|
Summary: Static linked version of Busybox, a compact UNIX utility collection
|
|
Group: System/Base
|
|
|
|
%description static
|
|
BusyBox combines tiny versions of many common UNIX utilities into a
|
|
single executable.
|
|
|
|
%package testsuite
|
|
Summary: Testsuite of busybox
|
|
Group: Development/Testing
|
|
Requires: %{name} = %{version}
|
|
Requires: zip
|
|
|
|
%description testsuite
|
|
Using this package you can test the busybox build on different kernels and glibc.
|
|
It needs to run with permission to the current directory, so either copy it away
|
|
as is or run as root:
|
|
|
|
cd /usr/share/busybox/testsuite
|
|
PATH=/usr/share/busybox:$PATH SKIP_KNOWN_BUGS=1 ./runtest
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch100 -p0
|
|
cp -a %{SOURCE1} docs/
|
|
find "(" -name CVS -o -name .cvsignore -o -name .svn -o -name .gitignore ")" \
|
|
-exec rm -Rf {} +
|
|
|
|
%build
|
|
export KCONFIG_NOTIMESTAMP=KCONFIG_NOTIMESTAMP
|
|
export VERBOSE=-v
|
|
export BUILD_VERBOSE=2
|
|
export CFLAGS="%{optflags} -fno-strict-aliasing -I/usr/include/tirpc"
|
|
export CC="gcc"
|
|
export HOSTCC=gcc
|
|
cp -a %{SOURCE3} .config
|
|
make %{?_smp_mflags} -e oldconfig
|
|
make -e %{?_smp_mflags}
|
|
mv busybox busybox-static
|
|
make -e %{?_smp_mflags} clean
|
|
cp -a %{SOURCE2} .config
|
|
make %{?_smp_mflags} -e oldconfig
|
|
make -e %{?_smp_mflags}
|
|
make -e doc busybox.links %{?_smp_mflags}
|
|
%if 0%{?usrmerged}
|
|
sed -i -e 's,^/\(s\?bin\)/,/usr/\1/,' busybox.links
|
|
%endif
|
|
|
|
%install
|
|
install -d %{buildroot}/%{_bindir}
|
|
install -d %{buildroot}/%{_datadir}/busybox
|
|
install -m 0644 busybox.links %{buildroot}%{_datadir}/busybox
|
|
install applets/install.sh %{buildroot}%{_bindir}/busybox.install
|
|
install -m 0755 busybox %{buildroot}%{_bindir}
|
|
install -m 0755 busybox-static %{buildroot}%{_bindir}
|
|
install -d %{buildroot}%{_sysconfdir}
|
|
install -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/
|
|
install -d %{buildroot}%{_mandir}/man1
|
|
install -m 644 docs/BusyBox.1 %{buildroot}%{_mandir}/man1
|
|
cp %{SOURCE2} %{buildroot}%{_datadir}/busybox/.config
|
|
ln -s %_bindir/busybox %{buildroot}%{_datadir}/busybox/busybox
|
|
cp -a testsuite %{buildroot}%{_datadir}/busybox/testsuite
|
|
|
|
%check
|
|
export KCONFIG_NOTIMESTAMP=KCONFIG_NOTIMESTAMP
|
|
export BUILD_VERBOSE=2
|
|
export CFLAGS="%{optflags} -fno-strict-aliasing -I/usr/include/tirpc"
|
|
export CC="gcc"
|
|
export HOSTCC=gcc
|
|
export SKIP_KNOWN_BUGS=1
|
|
export SKIP_INTERNET_TESTS=1
|
|
make -e %{?_smp_mflags} test
|
|
|
|
%files
|
|
%license LICENSE
|
|
%doc docs/mdev.txt
|
|
%config %{_sysconfdir}/man.conf
|
|
%doc %{_mandir}/man1/BusyBox.1.gz
|
|
%{_bindir}/busybox
|
|
%{_bindir}/busybox.install
|
|
%dir %{_datadir}/busybox
|
|
%{_datadir}/busybox/busybox.links
|
|
|
|
%files testsuite
|
|
%{_datadir}/busybox/busybox
|
|
%{_datadir}/busybox/.config
|
|
%{_datadir}/busybox/testsuite
|
|
|
|
%files static
|
|
%license LICENSE
|
|
%{_bindir}/busybox-static
|
|
|
|
%changelog
|