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 |