[Virtual-pkg-base-maintainers] Bug#799318: base: /usr/lib/x86_64-linux-gnu is not FHS-compliant

Mike Sharov msharov at users.sourceforge.net
Thu Sep 17 19:45:13 UTC 2015


Package: base
Severity: wishlist

Dear Maintainer,

The Linux Filesystem Hierarchy Standard specifies that all platform
libraries must be installed under /usr/lib. See the current FHS standard
document, section 4.6. Subdirectories under /usr/lib are permitted for
individual packages, but not for platforms. Libraries for non-native
platforms should be installed under /usr/lib<platform>, i.e. /usr/lib32.

Debian currently has a /usr/lib/x86_64-linux-gnu under which many,
but not all packages install their libraries. Having some packages
install libraries under /usr/lib and other packages install libraries
under /usr/lib/x86_64-linux-gnu creates confusion and makes it
impossible to detect that a library is installed. Because there
is no standard for the platform name (on other distributions,
x86_64 can be detected as x86_64-unknown-gnu by gcc), it is not
possible to create a general method for library detection, and
requires resorting to either hardcoded dir names per distribution
or a brute force search of the filesystem.

Because Debian is currently the base for most of the major distributions,
and the source of their packages, changing this policy should originate
with Debian. Merging the contents of /usr/lib/x86_64-linux-gnu into
/usr/lib is the policy compliant with the FHS and Debian should lead
by this good example.

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

Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)



More information about the Virtual-pkg-base-maintainers mailing list