[Following a similar discussion in another mailing list]

As you know, only a few directories can be assumed to be available after
boot[1].  Notably, /usr and /var are not among them.  Binaries in /bin
and /sbin should be enough to do basic maintanence/repair and to mount
other volumes.  Since we are using the binaries in /bin and /sbin to
potentially mount /usr, they should not depend on them.  Or can they?

On my laptop:
# for f in /bin/* /sbin/*; do if [ "$(file $f | grep ELF)" != "" ] ;
then if [ "$(ldd $f | grep /usr)" != "" ] ; then echo $(equery belongs
$f) $f; ldd $f; fi; fi; done
net-firewall/iptables-1.4.6 /sbin/iptables-multi
        linux-vdso.so.1 =>  (0x00007fffc77e8000)
        libip4tc.so.0 => /usr/lib/libip4tc.so.0 (0x00007f27e4781000)
        libxtables.so.4 => /usr/lib/libxtables.so.4 (0x00007f27e4579000)
        libm.so.6 => /lib/libm.so.6 (0x00007f27e42f8000)
        libc.so.6 => /lib/libc.so.6 (0x00007f27e3f9f000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f27e3d9b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f27e4988000)
sys-apps/hal-0.5.14-r2 /sbin/umount.hal
        linux-vdso.so.1 =>  (0x00007fff6b5f3000)
        libhal.so.1 => /usr/lib/libhal.so.1 (0x00007fd52e637000)
        libhal-storage.so.1 => /usr/lib/libhal-storage.so.1 (0x00007fd52e42c000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007fd52e1ec000)
        libc.so.6 => /lib/libc.so.6 (0x00007fd52de93000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fd52dc77000)
        librt.so.1 => /lib/librt.so.1 (0x00007fd52da6e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd52e848000)

Questions:
1. Is this OK or should we file bugs against binaries in {/bin,/sbin} linking
against libraries in /usr/lib? Fix is relatively easy in general (give
--libdir=/lib against the config script)

2. Is the below acceptable? (symlinking from /bin to /usr/bin)
# ls -l $(find {/bin,/sbin}/ -type l)|grep /usr
lrwxrwxrwx 1 root root 20 Oct 28  2008 /bin/igawk ->
/usr/bin/igawk-3.1.6
lrwxrwxrwx 1 root root 14 Aug 10 13:29 /bin/mail -> /usr/bin/mailx
lrwxrwxrwx 1 root root 20 Oct 28  2008 /bin/pgawk ->
/usr/bin/pgawk-3.1.6

Corollary to both:  If yes, tinderbox/buildbot against other packages
are probably in order as well.

Thanks
-- 
Eray

[1]
/dev
/etc
/lib
/bin
/sbin
/proc (Linux)
/sys (Linux-2.6)
/libexec (*BSD)

Reply via email to