Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] /bin contains busybox executables after installing busybox-1.13.2
Date: Wed, 25 Nov 2009 12:01:53
Message-Id: 200911251212.39554.alan.mckinnon@gmail.com
In Reply to: [gentoo-user] /bin contains busybox executables after installing busybox-1.13.2 by Amit Dor-Shifer
1 On Wednesday 25 November 2009 11:35:53 Amit Dor-Shifer wrote:
2 > Hi.
3 > I've just stumbled on an abnormality for which I've yet no explanation.
4 > Posting for possible general interest.
5 >
6 > Yesterday ebuild unpack started to emit errors:
7 >
8 > find: unrecognized: -mindepth
9 > BusyBox v1.13.2 (2009-09-02 17:33:46 IDT) multi-call binary
10 >
11 > Usage: find [PATH...] [EXPRESSION]
12 >
13 >
14 > This happened because I had a /bin/find, identical to /bin/busybox
15 >
16 > amit0 ~ # ls -la /bin/find /bin/busybox
17 > -rwxr-xr-x 176 root root 981048 Sep 2 17:35 /bin/busybox*
18 > -rwxr-xr-x 176 root root 981048 Sep 2 17:35 /bin/find*
19 >
20 > /bin/find isn't associated with any package, but it's creation time
21 > coincides with the last emerge of busybox, 1.8.2 -> 1.13.2.
22 >
23 > It seems that all of busybox's embedded exe's (I have 130) were created
24 > on my FS.
25
26
27 This all happened because you didn't read this:
28
29 pkg_preinst() {
30 if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] &&
31 [[ ${ROOT} == "/" ]] ; then
32 ewarn "setting USE=make-symlinks and emerging to / is very
33 dangerous."
34 ewarn "it WILL overwrite lots of system programs like: ls bash
35 awk grep (bug 60805 for full list)."
36 ewarn "If you are creating a binary only and not merging this
37 is probably ok."
38 ewarn "set env VERY_BRAVE_OR_VERY_DUMB=yes if this is realy
39 what you want."
40 die "silly options will destroy your system"
41 fi
42
43 /bin/find is not associated with any packages because it's created in
44 postinst()
45
46 And now you have a huge problem because (at least last time I tried) busybox
47 does not implement tar -o; to test, try and emerge something. If it fails,
48 this is the only way it will ever work:
49
50 boot off alternate media and chroot into your usual /. If you are lucky, you
51 will have a tar binpkg as a backup which you can unpack into / on the chroot;
52 if not then you have to get one from somewhere - some kind soul will likely
53 send you one of you specify your arch and cpu type
54
55 Then remove busybox. You don't need it as you have GNU. Busybox is useful for
56 embedded and rescue systems and not much use on desktops, hence the warnings
57 in the ebuild about not writing to / with symlinks
58
59
60 --
61 alan dot mckinnon at gmail dot com

Replies