On Wednesday 25 November 2009 11:35:53 Amit Dor-Shifer wrote:
> Hi.
> I've just stumbled on an abnormality for which I've yet no explanation.
> Posting for possible general interest.
> 
> Yesterday ebuild unpack started to emit errors:
> 
> find: unrecognized: -mindepth
> BusyBox v1.13.2 (2009-09-02 17:33:46 IDT) multi-call binary
> 
> Usage: find [PATH...] [EXPRESSION]
> 
> 
> This happened because I had a /bin/find, identical to /bin/busybox
> 
> amit0 ~ # ls -la /bin/find /bin/busybox
> -rwxr-xr-x 176 root root 981048 Sep  2 17:35 /bin/busybox*
> -rwxr-xr-x 176 root root 981048 Sep  2 17:35 /bin/find*
> 
> /bin/find isn't associated with any package, but it's creation time
> coincides with the last emerge of busybox, 1.8.2 -> 1.13.2.
> 
> It seems that all of busybox's embedded exe's (I have 130) were created
> on my FS.


This all happened because you didn't read this:

pkg_preinst() {
        if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] && 
[[ ${ROOT} == "/" ]] ; then
                ewarn "setting USE=make-symlinks and emerging to / is very 
dangerous."
                ewarn "it WILL overwrite lots of system programs like: ls bash 
awk grep (bug 60805 for full list)."
                ewarn "If you are creating a binary only and not merging this 
is probably ok."
                ewarn "set env VERY_BRAVE_OR_VERY_DUMB=yes if this is realy 
what you want."
                die "silly options will destroy your system"
        fi

/bin/find is not associated with any packages because it's created in 
postinst()

And now you have a huge problem because (at least last time I tried) busybox 
does not implement tar -o; to test, try and emerge something. If it fails, 
this is the only way it will ever work:

boot off alternate media and chroot into your usual /. If you are lucky, you 
will have a tar binpkg as a backup which you can unpack into / on the chroot; 
if not then you have to get one from somewhere - some kind soul will likely 
send you one of you specify your arch and cpu type

Then remove busybox. You don't need it as you have GNU. Busybox is useful for 
embedded and rescue systems and not much use on desktops, hence the warnings 
in the ebuild about not writing to / with symlinks


-- 
alan dot mckinnon at gmail dot com

Reply via email to