[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#652011: general: Repeated pattern of FHS violation: Dependencies of /sbin and /bin, belong in /lib



Package: general
Severity: serious
Justification: Policy 10.1.1

My understanding of the FHS would be that if a library is a dependency of a
binary in /bin or /sbin, then such library belongs in /lib, not
/usr/lib. (If
for some reason the library is also desired in /usr/lib then a sym link from
/lib to /usr/lib, but not the other way around, is acceptable.) A review of
past bug reports (e.g. #633019 and #639939 from this summer) shows that this
policy gets repeatedly violated in Debian until someone catches it.

Here is a test to reveal the current culprits on my own Squeeze
installation:
> ldd /{s,}bin/* | /bin/grep usr | cut -f1 -d"(" | sort -u
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8
        libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2
        libdiscover.so.2 => /usr/lib/libdiscover.so.2
        libexpat.so.1 => /usr/lib/libexpat.so.1
        libfuse.so.2 => /usr/lib/libfuse.so.2
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0
        libhal.so.1 => /usr/lib/libhal.so.1
        libhal-storage.so.1 => /usr/lib/libhal-storage.so.1
        libnfnetlink.so.0 => /usr/lib/libnfnetlink.so.0
        libnl.so.1 => /usr/lib/libnl.so.1
        libntfs-3g.so.75 => /usr/lib/libntfs-3g.so.75
        libntfs.so.10 => /usr/lib/libntfs.so.10
        libpcsclite.so.1 => /usr/lib/libpcsclite.so.1
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8
        libz.so.1 => /usr/lib/libz.so.1

Here is one objective test of conformity to this aspect of the FHS
requirements. The command "ldd /{s,}bin/* | /bin/grep usr" (or something
equivalent) should return nothing. (Well, OK, there could be weird
exceptions
where the string "usr" appeared in the name of an essential binary or
library,
but you get my point.)

-Zach



-- System Information:
Debian Release: 6.0.3
  APT prefers stable
  APT policy: (700, 'stable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.39-bpo.2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash




Reply to: