Gentoo Archives: gentoo-commits

From: Aric Belsito <lluixhi@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: sys-apps/busybox/
Date: Fri, 25 Aug 2017 18:19:46
Message-Id: 1503685148.46860e435cb0ece894b0eb366dc28208fab9a291.lluixhi@gentoo
1 commit: 46860e435cb0ece894b0eb366dc28208fab9a291
2 Author: Aric Belsito <lluixhi <AT> gmail <DOT> com>
3 AuthorDate: Fri Aug 25 18:19:08 2017 +0000
4 Commit: Aric Belsito <lluixhi <AT> gmail <DOT> com>
5 CommitDate: Fri Aug 25 18:19:08 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=46860e43
7
8 sys-apps/busybox: version bump to 1.27.2
9
10 sys-apps/busybox/Manifest | 2 +
11 sys-apps/busybox/busybox-1.27.2.ebuild | 316 +++++++++++++++++++++++++++++++++
12 2 files changed, 318 insertions(+)
13
14 diff --git a/sys-apps/busybox/Manifest b/sys-apps/busybox/Manifest
15 index 49e3ada..b8cd2bd 100644
16 --- a/sys-apps/busybox/Manifest
17 +++ b/sys-apps/busybox/Manifest
18 @@ -17,6 +17,8 @@ AUX watchdog.confd 232 SHA256 786d9497ad55c29d6fff231709e71ecad94f2ee1de3b45b461
19 AUX watchdog.initd 219 SHA256 68831d9e8c460a605f20c2e476ff6f80dcf977412e509f4fcb5ee1f4f3b5d813 SHA512 d329fb72ce078a95a1fb77b72321dee56d19c76b45cb78a7a57a46d9fa385b982a114be49dd8696c2d4fc2b2dd90a17ee728ef2938172cc2f8b12b5a9ebd62f5 WHIRLPOOL 69de35443fb58b3188b026787ded43997ca9fb6cafe6d971e72546d9fed4b17eef635fc400d2b3ee1a918eadb8e1dedc051e616f8d418687a8a933dd67865f4b
20 DIST busybox-1.25.1.tar.bz2 2103070 SHA256 27667e0f2328fdbd79cfd622e4453e5c57e58f781c5da97c9be337d93aa2a02e SHA512 9648877ed11e5a55213cd14fd64f6fc64dbd17013fbfaa4e67f4fd433f59e9231ed78a88e6e8100a4794d833f1d9863bb86f75faae093418866770804bf873cb WHIRLPOOL 4b7bc6d3a88559812797feb4574975b9fdeb6eac6ac7a0fe51e4750a3b05a614ecb8bd9d58547047cdf1e0b66d9bcd189c8a4193fc2f3b491a6268bc06761ad1
21 DIST busybox-1.26.2.tar.bz2 2120931 SHA256 da3e44913fc1a9c9b7c5337ea5292da518683cbff32be630777f565d6036af16 SHA512 9926d211d0b4f34b513d934d7b111ebbf933c2dc31206bdd80426a62d47d5b1475b70bec5aaa14a26b94a202ab1465d994062a002750a312dcb8167096eb3719 WHIRLPOOL 64fdbd3ede8e382d0237b1576000555f563c4ca93d58cfbb72f71374b662e3201863110a069f0e4a27dab7c0a6102d98ccfd4d57f1dfe44c9b12a17c6a30128a
22 +DIST busybox-1.27.2.tar.bz2 2216527 SHA256 9d4be516b61e6480f156b11eb42577a13529f75d3383850bb75c50c285de63df SHA512 d99e86b652562ebe1a5d50e1ba3877a1d1612997c17cb8d8e4212da181211a9b741a881cb051f14cb3ee8aea40226cf2cde80a076baed265d3bc0a4e96a5031c WHIRLPOOL 56002a144710aa00ee17c46e3ac471537f58bee6b9d4da6cefc0afb4f75cf13dcaaadf1e6610d0e10c7b808b0c33c24743e21c683c478582eb0eb149a869f9a7
23 EBUILD busybox-1.25.1.ebuild 8864 SHA256 285e8b7dc579518db1bcf481bf8c5d7227694cea10eb1b281f2435709944a69e SHA512 4d5a177d70c8feddc4d1291e955d57c7f575b14202d2f2413581e7424a68ae73718110e9179eb6837519bdc142b48fdcc5d7ca9652ff9a4fc905f83dab42177f WHIRLPOOL d73b3963773fb610fc0c2b513be01df044cbce058d93a5ee1bb2e01a4f6b96a1ee5db1a4c1b4a808c97f359c6301417aec1c28d4d536f60a23b95aee8e259e85
24 EBUILD busybox-1.26.2-r1.ebuild 9165 SHA256 213ce56b2cd667c573acfd3da9f2c92a18158cbad8926e5e6d0cb498ee791b77 SHA512 0803c10c8b59119af46d187fc9e18f80473e683e98bb633cf30e03d66ba037a8b9144a356b229630013b4944d86aff432278eab67b9d0cba11300818308f2af1 WHIRLPOOL 6d80e7e575752b0e20b1de1a97c7c7b4559f57238fed3aa2c8f949da72d8e762c49e1c8ccc8b5bb6e0e7ceda4a75420e785a667939cec63a64ea5b4964410e4b
25 +EBUILD busybox-1.27.2.ebuild 9165 SHA256 9eacd4721b0b39b78a12963f63358aaa33086f070d0640e3d8bfc5837b0c03d9 SHA512 75f45ed44bbb8b2b05ffc76a18c184ba508bea8267a0bd13a434e9803b50377274ddd061e51a6e1a75933bfcc0a5fb9519f6e579ff3cf793cad4716c986ce286 WHIRLPOOL 29cc7b7de584461fc816915200c7061b3497769a61ab58da0b1ff81b17fc8deaf40d675e17d64e0dcd5ba50d4f53885705cb992389426aa32c11e3fc9d833197
26 MISC metadata.xml 872 SHA256 1cf483a8d55e8cbe20edb30261276d71e0ba0a1b06d73621f849496d1f6c4a17 SHA512 c0b3f8b9348553d8a4db25c1c51ef5a82bcd14a09251568c0709b392e2dea9bc35dced96377d11a32ad53ba09052603781caebf754428debf7acb0aaedafbf07 WHIRLPOOL 91b126a39ecd6937e6058814b88043e9fbbf7b434854e25a4e4a7ad8e666de37978b8bac0c8dca0255096a42af9afed412bb5bbccdffaf03ba75c2fd2e4b3428
27
28 diff --git a/sys-apps/busybox/busybox-1.27.2.ebuild b/sys-apps/busybox/busybox-1.27.2.ebuild
29 new file mode 100644
30 index 0000000..b135cfd
31 --- /dev/null
32 +++ b/sys-apps/busybox/busybox-1.27.2.ebuild
33 @@ -0,0 +1,316 @@
34 +# Copyright 1999-2017 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +# See `man savedconfig.eclass` for info on how to use USE=savedconfig.
38 +
39 +EAPI="5"
40 +inherit eutils flag-o-matic savedconfig toolchain-funcs multilib
41 +
42 +DESCRIPTION="Utilities for rescue and embedded systems"
43 +HOMEPAGE="https://www.busybox.net/"
44 +if [[ ${PV} == "9999" ]] ; then
45 + MY_P=${P}
46 + EGIT_REPO_URI="git://busybox.net/busybox.git"
47 + inherit git-r3
48 +else
49 + MY_P=${PN}-${PV/_/-}
50 + SRC_URI="https://www.busybox.net/downloads/${MY_P}.tar.bz2"
51 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
52 +fi
53 +
54 +LICENSE="GPL-2" # GPL-2 only
55 +SLOT="0"
56 +IUSE="debug ipv6 livecd make-symlinks math mdev pam selinux sep-usr static syslog systemd"
57 +REQUIRED_USE="pam? ( !static )"
58 +RESTRICT="test"
59 +
60 +COMMON_DEPEND="!static? ( selinux? ( sys-libs/libselinux ) )
61 + pam? ( sys-libs/pam )"
62 +DEPEND="${COMMON_DEPEND}
63 + static? ( selinux? ( sys-libs/libselinux[static-libs(+)] ) )
64 + >=sys-kernel/linux-headers-2.6.39"
65 +RDEPEND="${COMMON_DEPEND}
66 + mdev? ( !<sys-apps/openrc-0.13 )"
67 +
68 +S=${WORKDIR}/${MY_P}
69 +
70 +busybox_config_option() {
71 + local flag=$1 ; shift
72 + if [[ ${flag} != [yn] && ${flag} != \"* ]] ; then
73 + busybox_config_option $(usex ${flag} y n) "$@"
74 + return
75 + fi
76 + local expr
77 + while [[ $# -gt 0 ]] ; do
78 + case ${flag} in
79 + y) expr="s:.*\<CONFIG_$1\>.*set:CONFIG_$1=y:g" ;;
80 + n) expr="s:CONFIG_$1=y:# CONFIG_$1 is not set:g" ;;
81 + *) expr="s:.*\<CONFIG_$1\>.*:CONFIG_$1=${flag}:g" ;;
82 + esac
83 + sed -i -e "${expr}" .config || die
84 + einfo "$(grep "CONFIG_$1[= ]" .config || echo "Could not find CONFIG_$1 ...")"
85 + shift
86 + done
87 +}
88 +
89 +busybox_config_enabled() {
90 + local val=$(sed -n "/^CONFIG_$1=/s:^[^=]*=::p" .config)
91 + case ${val} in
92 + "") return 1 ;;
93 + y) return 0 ;;
94 + *) echo "${val}" | sed -r 's:^"(.*)"$:\1:' ;;
95 + esac
96 +}
97 +
98 +src_prepare() {
99 + unset KBUILD_OUTPUT #88088
100 + append-flags -fno-strict-aliasing #310413
101 + use ppc64 && append-flags -mminimal-toc #130943
102 +
103 + # patches go here!
104 + epatch "${FILESDIR}"/${PN}-1.26.2-bb.patch
105 +# epatch "${FILESDIR}"/${P}-*.patch
106 + cp "${FILESDIR}"/ginit.c init/ || die
107 +
108 + # flag cleanup
109 + sed -i -r \
110 + -e 's:[[:space:]]?-(Werror|Os|falign-(functions|jumps|loops|labels)=1|fomit-frame-pointer)\>::g' \
111 + Makefile.flags || die
112 + #sed -i '/bbsh/s:^//::' include/applets.h
113 + sed -i '/^#error Aborting compilation./d' applets/applets.c || die
114 + use elibc_glibc && sed -i 's:-Wl,--gc-sections::' Makefile
115 + sed -i \
116 + -e "/^CROSS_COMPILE/s:=.*:= ${CHOST}-:" \
117 + -e "/^AR\>/s:=.*:= $(tc-getAR):" \
118 + -e "/^CC\>/s:=.*:= $(tc-getCC):" \
119 + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
120 + -e "/^PKG_CONFIG\>/s:=.*:= $(tc-getPKG_CONFIG):" \
121 + Makefile || die
122 + sed -i \
123 + -e 's:-static-libgcc::' \
124 + Makefile.flags || die
125 +}
126 +
127 +src_configure() {
128 + # check for a busybox config before making one of our own.
129 + # if one exist lets return and use it.
130 +
131 + restore_config .config
132 + if [ -f .config ]; then
133 + yes "" | emake -j1 -s oldconfig >/dev/null
134 + return 0
135 + else
136 + ewarn "Could not locate user configfile, so we will save a default one"
137 + fi
138 +
139 + # setup the config file
140 + emake -j1 -s allyesconfig >/dev/null
141 + # nommu forces a bunch of things off which we want on #387555
142 + busybox_config_option n NOMMU
143 + sed -i '/^#/d' .config
144 + yes "" | emake -j1 -s oldconfig >/dev/null
145 +
146 + # now turn off stuff we really don't want
147 + busybox_config_option n DMALLOC
148 + busybox_config_option n FEATURE_2_4_MODULES #607548
149 + busybox_config_option n FEATURE_SUID_CONFIG
150 + busybox_config_option n BUILD_AT_ONCE
151 + busybox_config_option n BUILD_LIBBUSYBOX
152 + busybox_config_option n FEATURE_CLEAN_UP
153 + busybox_config_option n MONOTONIC_SYSCALL
154 + busybox_config_option n USE_PORTABLE_CODE
155 + busybox_config_option n WERROR
156 + # triming the BSS size may be dangerous
157 + busybox_config_option n FEATURE_USE_BSS_TAIL
158 +
159 + # These cause trouble with musl. Since we don't really
160 + # depend on busybox for most of the musl work, we'll lazily
161 + # just turn them off.
162 + busybox_config_option n FEATURE_UTMP
163 + busybox_config_option n EXTRA_COMPAT
164 + busybox_config_option n FEATURE_VI_REGEX_SEARCH
165 +
166 + # If these are not set and we are using a uclibc/busybox setup
167 + # all calls to system() will fail.
168 + busybox_config_option y ASH
169 + busybox_config_option y SH_IS_ASH
170 + busybox_config_option n HUSH
171 +
172 + busybox_config_option '"/run"' PID_FILE_PATH
173 + busybox_config_option '"/run/ifstate"' IFUPDOWN_IFSTATE_PATH
174 +
175 + # disable ipv6 applets
176 + if ! use ipv6; then
177 + busybox_config_option n FEATURE_IPV6
178 + busybox_config_option n TRACEROUTE6
179 + busybox_config_option n PING6
180 + busybox_config_option n UDHCPC6
181 + fi
182 +
183 + busybox_config_option pam PAM
184 + busybox_config_option static STATIC
185 + busybox_config_option syslog {K,SYS}LOGD LOGGER
186 + busybox_config_option systemd FEATURE_SYSTEMD
187 + busybox_config_option math FEATURE_AWK_LIBM
188 +
189 + # all the debug options are compiler related, so punt them
190 + busybox_config_option n DEBUG_SANITIZE
191 + busybox_config_option n DEBUG
192 + busybox_config_option y NO_DEBUG_LIB
193 + busybox_config_option n DMALLOC
194 + busybox_config_option n EFENCE
195 + busybox_config_option $(usex debug y n) TFTP_DEBUG
196 +
197 + busybox_config_option selinux SELINUX
198 +
199 + # this opt only controls mounting with <linux-2.6.23
200 + busybox_config_option n FEATURE_MOUNT_NFS
201 +
202 + # default a bunch of uncommon options to off
203 + local opt
204 + for opt in \
205 + ADD_SHELL \
206 + BEEP BOOTCHARTD \
207 + CRONTAB \
208 + DC DEVFSD DNSD DPKG{,_DEB} \
209 + FAKEIDENTD FBSPLASH FOLD FSCK_MINIX FTP{GET,PUT} \
210 + FEATURE_DEVFS \
211 + HOSTID HUSH \
212 + INETD INOTIFYD IPCALC \
213 + LOCALE_SUPPORT LOGNAME LPD \
214 + MAKEMIME MKFS_MINIX MSH \
215 + OD \
216 + RDEV READPROFILE REFORMIME REMOVE_SHELL RFKILL RUN_PARTS RUNSV{,DIR} \
217 + SLATTACH SMEMCAP SULOGIN SV{,LOGD} \
218 + TASKSET TCPSVD \
219 + RPM RPM2CPIO \
220 + UDPSVD UUDECODE UUENCODE
221 + do
222 + busybox_config_option n ${opt}
223 + done
224 +
225 + emake -j1 oldconfig > /dev/null
226 +}
227 +
228 +src_compile() {
229 + unset KBUILD_OUTPUT #88088
230 + export SKIP_STRIP=y
231 +
232 + emake V=1 busybox
233 +}
234 +
235 +src_install() {
236 + unset KBUILD_OUTPUT #88088
237 + save_config .config
238 +
239 + into /
240 + dodir /bin
241 + if use sep-usr ; then
242 + # install /ginit to take care of mounting stuff
243 + exeinto /
244 + newexe busybox_unstripped ginit
245 + dosym /ginit /bin/bb
246 + dosym bb /bin/busybox
247 + else
248 + newbin busybox_unstripped busybox
249 + dosym busybox /bin/bb
250 + fi
251 + if use mdev ; then
252 + dodir /$(get_libdir)/mdev/
253 + use make-symlinks || dosym /bin/bb /sbin/mdev
254 + cp "${S}"/examples/mdev_fat.conf "${ED}"/etc/mdev.conf
255 +
256 + exeinto /$(get_libdir)/mdev/
257 + doexe "${FILESDIR}"/mdev/*
258 +
259 + newinitd "${FILESDIR}"/mdev.initd mdev
260 + fi
261 + if use livecd ; then
262 + dosym busybox /bin/vi
263 + fi
264 +
265 + # add busybox daemon's, bug #444718
266 + if busybox_config_enabled FEATURE_NTPD_SERVER; then
267 + newconfd "${FILESDIR}/ntpd.confd" "busybox-ntpd"
268 + newinitd "${FILESDIR}/ntpd.initd" "busybox-ntpd"
269 + fi
270 + if busybox_config_enabled SYSLOGD; then
271 + newconfd "${FILESDIR}/syslogd.confd" "busybox-syslogd"
272 + newinitd "${FILESDIR}/syslogd.initd" "busybox-syslogd"
273 + fi
274 + if busybox_config_enabled KLOGD; then
275 + newconfd "${FILESDIR}/klogd.confd" "busybox-klogd"
276 + newinitd "${FILESDIR}/klogd.initd" "busybox-klogd"
277 + fi
278 + if busybox_config_enabled WATCHDOG; then
279 + newconfd "${FILESDIR}/watchdog.confd" "busybox-watchdog"
280 + newinitd "${FILESDIR}/watchdog.initd" "busybox-watchdog"
281 + fi
282 + if busybox_config_enabled UDHCPC; then
283 + local path=$(busybox_config_enabled UDHCPC_DEFAULT_SCRIPT)
284 + exeinto "${path%/*}"
285 + newexe examples/udhcp/simple.script "${path##*/}"
286 + fi
287 + if busybox_config_enabled UDHCPD; then
288 + insinto /etc
289 + doins examples/udhcp/udhcpd.conf
290 + fi
291 +
292 + # bundle up the symlink files for use later
293 + emake DESTDIR="${ED}" install
294 + rm _install/bin/busybox
295 + # for compatibility, provide /usr/bin/env
296 + mkdir -p _install/usr/bin
297 + ln -s /bin/env _install/usr/bin/env
298 + tar cf busybox-links.tar -C _install . || : #;die
299 + insinto /usr/share/${PN}
300 + use make-symlinks && doins busybox-links.tar
301 +
302 + dodoc AUTHORS README TODO
303 +
304 + cd docs
305 + docinto txt
306 + dodoc *.txt
307 + docinto pod
308 + dodoc *.pod
309 + dohtml *.html
310 +
311 + cd ../examples
312 + docinto examples
313 + dodoc inittab depmod.pl *.conf *.script undeb unrpm
314 +}
315 +
316 +pkg_preinst() {
317 + if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] && [[ ${ROOT} == "/" ]] ; then
318 + ewarn "setting USE=make-symlinks and emerging to / is very dangerous."
319 + ewarn "it WILL overwrite lots of system programs like: ls bash awk grep (bug 60805 for full list)."
320 + ewarn "If you are creating a binary only and not merging this is probably ok."
321 + ewarn "set env VERY_BRAVE_OR_VERY_DUMB=yes if this is really what you want."
322 + die "silly options will destroy your system"
323 + fi
324 +
325 + if use make-symlinks ; then
326 + mv "${ED}"/usr/share/${PN}/busybox-links.tar "${T}"/ || die
327 + fi
328 +}
329 +
330 +pkg_postinst() {
331 + savedconfig_pkg_postinst
332 +
333 + if use make-symlinks ; then
334 + cd "${T}" || die
335 + mkdir _install
336 + tar xf busybox-links.tar -C _install || die
337 + cp -vpPR _install/* "${ROOT}"/ || die "copying links for ${x} failed"
338 + fi
339 +
340 + if use sep-usr ; then
341 + elog "In order to use the sep-usr support, you have to update your"
342 + elog "kernel command line. Add the option:"
343 + elog " init=/ginit"
344 + elog "To launch a different init than /sbin/init, use:"
345 + elog " init=/ginit /sbin/yourinit"
346 + elog "To get a rescue shell, you may boot with:"
347 + elog " init=/ginit bb"
348 + fi
349 +}