Gentoo Archives: gentoo-commits

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