Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-apps/busybox: busybox-1.17.4.ebuild ChangeLog
Date: Wed, 24 Nov 2010 07:35:19
Message-Id: 20101124073513.EC23820051@flycatcher.gentoo.org
1 vapier 10/11/24 07:35:13
2
3 Modified: ChangeLog
4 Added: busybox-1.17.4.ebuild
5 Log:
6 Version bump.
7
8 (Portage version: 2.2.0_alpha4/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.258 sys-apps/busybox/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/busybox/ChangeLog?rev=1.258&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/busybox/ChangeLog?rev=1.258&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/busybox/ChangeLog?r1=1.257&r2=1.258
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v
20 retrieving revision 1.257
21 retrieving revision 1.258
22 diff -u -r1.257 -r1.258
23 --- ChangeLog 16 Nov 2010 12:14:41 -0000 1.257
24 +++ ChangeLog 24 Nov 2010 07:35:13 -0000 1.258
25 @@ -1,6 +1,11 @@
26 # ChangeLog for sys-apps/busybox
27 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.257 2010/11/16 12:14:41 vapier Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/ChangeLog,v 1.258 2010/11/24 07:35:13 vapier Exp $
30 +
31 +*busybox-1.17.4 (24 Nov 2010)
32 +
33 + 24 Nov 2010; Mike Frysinger <vapier@g.o> +busybox-1.17.4.ebuild:
34 + Version bump.
35
36 16 Nov 2010; Mike Frysinger <vapier@g.o> busybox-1.17.1-r1.ebuild:
37 Disable USE=pam when building the static rescue shell #345665 by Paweł
38
39
40
41 1.1 sys-apps/busybox/busybox-1.17.4.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/busybox/busybox-1.17.4.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/busybox/busybox-1.17.4.ebuild?rev=1.1&content-type=text/plain
45
46 Index: busybox-1.17.4.ebuild
47 ===================================================================
48 # Copyright 1999-2010 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/busybox-1.17.4.ebuild,v 1.1 2010/11/24 07:35:13 vapier Exp $
51
52 EAPI=2
53 inherit eutils flag-o-matic savedconfig toolchain-funcs
54
55 ################################################################################
56 # BUSYBOX ALTERNATE CONFIG MINI-HOWTO
57 #
58 # Busybox can be modified in many different ways. Here's a few ways to do it:
59 #
60 # (1) Emerge busybox with FEATURES=keepwork so the work directory won't
61 # get erased afterwards. Add a definition like ROOT=/my/root/path to the
62 # start of the line if you're installing to somewhere else than the root
63 # directory. This command will save the default configuration to
64 # ${PORTAGE_CONFIGROOT} (or ${ROOT} if ${PORTAGE_CONFIGROOT} is not
65 # defined), and it will tell you that it has done this. Note the location
66 # where the config file was saved.
67 #
68 # FEATURES=keepwork USE=savedconfig emerge busybox
69 #
70 # (2) Go to the work directory and change the configuration of busybox using its
71 # menuconfig feature.
72 #
73 # cd /var/tmp/portage/busybox*/work/busybox-*
74 # make menuconfig
75 #
76 # (3) Save your configuration to the default location and copy it to the
77 # one of the locations listed in /usr/portage/eclass/savedconfig.eclass
78 #
79 # (4) Emerge busybox with USE=savedconfig to use the configuration file you
80 # just generated.
81 #
82 ################################################################################
83 #
84 # (1) Alternatively skip the above steps and simply emerge busybox without
85 # USE=savedconfig.
86 #
87 # (2) Edit the file it saves by hand. ${ROOT}"/etc/portage/savedconfig/${CATEGORY}/${PF}
88 #
89 # (3) Remerge busybox as using USE=savedconfig.
90 #
91 ################################################################################
92
93 #SNAPSHOT=20040726
94 SNAPSHOT=""
95
96 DESCRIPTION="Utilities for rescue and embedded systems"
97 HOMEPAGE="http://www.busybox.net/"
98 if [[ -n ${SNAPSHOT} ]] ; then
99 MY_P=${PN}
100 SRC_URI="http://www.busybox.net/downloads/snapshots/${PN}-${SNAPSHOT}.tar.bz2"
101 else
102 MY_P=${PN}-${PV/_/-}
103 SRC_URI="http://www.busybox.net/downloads/${MY_P}.tar.bz2"
104 fi
105 LICENSE="GPL-2"
106 SLOT="0"
107 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
108 IUSE="debug ipv6 make-symlinks +mdev -pam selinux static elibc_glibc"
109 RESTRICT="test"
110
111 DEPEND="selinux? ( sys-libs/libselinux )
112 pam? ( sys-libs/pam )"
113
114 S=${WORKDIR}/${MY_P}
115
116 busybox_config_option() {
117 case $1 in
118 y) sed -i -e "s:.*\<CONFIG_$2\>.*set:CONFIG_$2=y:g" .config;;
119 n) sed -i -e "s:CONFIG_$2=y:# CONFIG_$2 is not set:g" .config;;
120 *) use $1 \
121 && busybox_config_option y $2 \
122 || busybox_config_option n $2
123 return 0
124 ;;
125 esac
126 einfo $(grep "CONFIG_$2[= ]" .config || echo Could not find CONFIG_$2 ...)
127 }
128
129 src_prepare() {
130 unset KBUILD_OUTPUT #88088
131 append-flags -fno-strict-aliasing #310413
132
133 # patches go here!
134 epatch "${FILESDIR}"/busybox-1.17.0-bb.patch
135 #epatch "${FILESDIR}"/busybox-${PV}-*.patch
136
137 # flag cleanup
138 sed -i -r \
139 -e 's:[[:space:]]?-(Werror|Os|falign-(functions|jumps|loops|labels)=1|fomit-frame-pointer)\>::g' \
140 Makefile.flags || die
141 #sed -i '/bbsh/s:^//::' include/applets.h
142 sed -i '/^#error Aborting compilation./d' applets/applets.c || die
143 use elibc_glibc && sed -i 's:-Wl,--gc-sections::' Makefile
144 sed -i \
145 -e "/^CROSS_COMPILE/s:=.*:= ${CHOST}-:" \
146 -e "/^CC/s:=.*:= $(tc-getCC):" \
147 -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
148 Makefile || die
149 }
150
151 src_configure() {
152 # check for a busybox config before making one of our own.
153 # if one exist lets return and use it.
154
155 restore_config .config
156 if [ -f .config ]; then
157 yes "" | emake -j1 oldconfig > /dev/null
158 return 0
159 else
160 ewarn "Could not locate user configfile, so we will save a default one"
161 fi
162
163 # setup the config file
164 emake -j1 allyesconfig > /dev/null
165 busybox_config_option n DMALLOC
166 busybox_config_option n FEATURE_SUID_CONFIG
167 busybox_config_option n BUILD_AT_ONCE
168 busybox_config_option n BUILD_LIBBUSYBOX
169 busybox_config_option n NOMMU
170 busybox_config_option n MONOTONIC_SYSCALL
171
172 # If these are not set and we are using a uclibc/busybox setup
173 # all calls to system() will fail.
174 busybox_config_option y ASH
175 busybox_config_option n HUSH
176
177 # disable ipv6 applets
178 if ! use ipv6; then
179 busybox_config_option n FEATURE_IPV6
180 busybox_config_option n TRACEROUTE6
181 busybox_config_option n PING6
182 fi
183
184 if use static && use pam ; then
185 ewarn "You cannot have USE='static pam'. Assuming static is more important."
186 fi
187 use static \
188 && busybox_config_option n PAM \
189 || busybox_config_option pam PAM
190 busybox_config_option static STATIC
191 busybox_config_option debug DEBUG
192 use debug \
193 && busybox_config_option y NO_DEBUG_LIB \
194 && busybox_config_option n DMALLOC \
195 && busybox_config_option n EFENCE
196
197 busybox_config_option selinux SELINUX
198
199 # default a bunch of uncommon options to off
200 local opt
201 for opt in \
202 CRONTAB \
203 DC DEVFSD DNSD DPKG \
204 FAKEIDENTD FBSPLASH FOLD FTP{GET,PUT} \
205 HOSTID HUSH \
206 INETD INOTIFYD IPCALC \
207 LASH LOCALE_SUPPORT LOGNAME LPD \
208 MSH \
209 OD \
210 RFKILL \
211 SLATTACH SULOGIN \
212 TASKSET TCPSVD \
213 RPM RPM2CPIO \
214 UDPSVD UUDECODE UUENCODE
215 do
216 busybox_config_option n ${opt}
217 done
218
219 emake -j1 oldconfig > /dev/null
220 }
221
222 src_compile() {
223 unset KBUILD_OUTPUT #88088
224 export SKIP_STRIP=y
225
226 emake busybox || die "build failed"
227 if ! use static ; then
228 cp .config{,.bak}
229 mv busybox_unstripped{,.bak}
230 use pam && busybox_config_option n PAM
231 emake CONFIG_STATIC=y busybox || die "static build failed"
232 mv busybox_unstripped bb
233 mv busybox_unstripped{.bak,}
234 mv .config{.bak,}
235 fi
236 }
237
238 src_install() {
239 unset KBUILD_OUTPUT #88088
240 save_config .config
241
242 into /
243 newbin busybox_unstripped busybox || die
244 if use static || use pam ; then
245 dosym busybox /bin/bb || die
246 dosym bb /bin/busybox.static || die
247 else
248 dobin bb || die
249 fi
250 if use mdev; then
251 dodir /$(get_libdir)/mdev/
252 use make-symlinks || dosym /bin/bb /sbin/mdev
253 cp "${S}"/examples/mdev_fat.conf "${D}"/etc/mdev.conf
254
255 exeinto /$(get_libdir)/mdev/
256 doexe "${FILESDIR}"/mdev/*
257
258 insinto /$(get_libdir)/rcscripts/addons
259 doins "${FILESDIR}"/mdev-start.sh || die
260 newinitd "${FILESDIR}"/mdev.rc mdev || die
261 fi
262
263 # bundle up the symlink files for use later
264 emake install || die
265 rm _install/bin/busybox
266 tar cf busybox-links.tar -C _install . || : #;die
267 insinto /usr/share/${PN}
268 doins busybox-links.tar || die
269 newins .config ${PF}.config || die
270
271 dodoc AUTHORS README TODO
272
273 cd docs || die
274 docinto txt
275 dodoc *.txt
276 docinto pod
277 dodoc *.pod
278 dohtml *.html
279
280 cd ../examples || die
281 docinto examples
282 dodoc inittab depmod.pl *.conf *.script undeb unrpm
283
284 cd bootfloppy || die
285 docinto bootfloppy
286 dodoc $(find . -type f)
287 }
288
289 pkg_preinst() {
290 if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] && [[ ${ROOT} == "/" ]] ; then
291 ewarn "setting USE=make-symlinks and emerging to / is very dangerous."
292 ewarn "it WILL overwrite lots of system programs like: ls bash awk grep (bug 60805 for full list)."
293 ewarn "If you are creating a binary only and not merging this is probably ok."
294 ewarn "set env VERY_BRAVE_OR_VERY_DUMB=yes if this is realy what you want."
295 die "silly options will destroy your system"
296 fi
297
298 if use make-symlinks ; then
299 mv "${D}"/usr/share/${PN}/busybox-links.tar "${T}"/ || die
300 fi
301 }
302
303 pkg_postinst() {
304 if use make-symlinks ; then
305 cd "${T}" || die
306 mkdir _install
307 tar xf busybox-links.tar -C _install || die
308 cp -vpPR _install/* "${ROOT}"/ || die "copying links for ${x} failed"
309 fi
310
311 echo
312 einfo "This ebuild has support for user defined configs"
313 einfo "Please read this ebuild for more details and re-emerge as needed"
314 einfo "if you want to add or remove functionality for ${PN}"
315 echo
316 }