4 Summary: Single binary providing simplified versions of system commands
7 URL: http://www.landley.net/toybox/
8 Source: %{name}-%{version}.tar.bz2
11 Source5: usrsbin.links
13 Source1001: toybox.manifest
15 BuildRequires : smack-devel
16 BuildRequires : libattr-devel
17 BuildRequires : pkgconfig(dlog)
20 Toybox is a single binary which includes versions of a large number
21 of system commands, including a shell. This package can be very
22 useful for recovering from certain types of system failures,
23 particularly those involving broken shared libraries.
27 Summary: ToyBox that includes all applets including init.
31 Toybox-full is a single binary which includes most of the applets
32 including 'init' command.
34 %package symlinks-full
36 Summary: ToyBox symlinks to provide all applets
37 Requires: %{name}-full = %{version}-%{release}
39 %description symlinks-full
40 ToyBox symlinks for utilities corresponding to all packages.
42 %package symlinks-dhcp
44 Summary: ToyBox symlinks to provide 'dhcp'
45 Requires: %{name} = %{version}-%{release}
47 %description symlinks-dhcp
48 ToyBox symlinks for utilities corresponding to 'dhcp' package.
50 %package symlinks-dhcpd
52 Summary: ToyBox symlinks to provide 'dhcpd'
53 Requires: %{name} = %{version}-%{release}
55 %description symlinks-dhcpd
56 ToyBox symlinks for utilities corresponding to 'dhcpd' package.
58 %package symlinks-ping
60 Summary: ToyBox symlinks to provide 'ping'
61 Requires: %{name} = %{version}-%{release}
63 %description symlinks-ping
64 ToyBox symlinks for utilities corresponding to 'ping' package.
66 %package symlinks-ping6
68 Summary: ToyBox symlinks to provide 'ping6'
69 Requires: %{name} = %{version}-%{release}
71 %description symlinks-ping6
72 ToyBox symlinks for utilities corresponding to 'ping6' package.
74 %package symlinks-nslookup
76 Summary: ToyBox symlinks to provide 'nslookup'
77 Requires: %{name} = %{version}-%{release}
79 %description symlinks-nslookup
80 ToyBox symlinks for utilities corresponding to 'nslookup' package.
88 # create a minimum dynamic toybox (ELF) that consists of 'nslookup', 'ping', and 'dhcpd'.
90 export LDFLAGS=" -ldlog"
91 make -j 4 CC+="gcc $RPM_OPT_FLAGS" CFLAGS="$CFLAGS -fPIE -I/usr/include/dlog/" LDOPTIMIZE="-Wl,--gc-sections -pie"
92 cp toybox toybox-dynamic
94 # create a dynamic toybox-full (ELF) that include most of the applets including 'init'.
95 cp %{SOURCE11} .config
96 export LDFLAGS=" -ldlog"
97 make -j 4 CC+="gcc $RPM_OPT_FLAGS" CFLAGS="$CFLAGS -fPIE -I/usr/include/dlog/" LDOPTIMIZE="-Wl,--gc-sections -pie"
98 cp toybox toybox-dynamic-full
101 rm -rf $RPM_BUILD_ROOT
102 mkdir -p $RPM_BUILD_ROOT/%{_bindir}
103 mkdir -p $RPM_BUILD_ROOT/%{_sbindir}
104 install -m 755 toybox-dynamic $RPM_BUILD_ROOT/%{_bindir}/toybox
105 install -m 755 toybox-dynamic-full $RPM_BUILD_ROOT/%{_bindir}/toybox-full
107 # debian/toybox.links
109 mkdir -p usr/bin usr/sbin
111 for f in `cat %SOURCE4` ; do ln -s toybox $f ; done
114 for f in `cat %SOURCE5` ; do ln -s ../bin/toybox $f ; done
119 pushd %{_bindir} && ./toybox-full ln -s ./toybox-full ./toybox && popd
122 %manifest toybox.manifest
124 %defattr(-,root,root,-)
128 %manifest toybox.manifest
130 %defattr(-,root,root,-)
131 %{_bindir}/toybox-full
134 %manifest toybox.manifest
136 %defattr(-,root,root,-)
139 %exclude %{_bindir}/toybox
140 %exclude %{_bindir}/toybox-full
143 %manifest toybox.manifest
145 %defattr(-,root,root,-)
148 %files symlinks-dhcpd
149 %manifest toybox.manifest
151 %defattr(-,root,root,-)
152 %{_bindir}/dumpleases
156 %manifest toybox.manifest
158 %defattr(-,root,root,-)
161 %files symlinks-ping6
162 %manifest toybox.manifest
164 %defattr(-,root,root,-)
167 %post symlinks-nslookup
168 mv /usr/bin/toybox-nslookup /usr/bin/nslookup
170 %files symlinks-nslookup
171 %manifest toybox.manifest
173 %defattr(-,root,root,-)
174 %{_bindir}/toybox-nslookup
178 * Mon May 27 2019 Geunsik Lim <geunsik.lim@samsung.com>
179 - Added toybox-full that consists of most applets