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

Bug#741304: add FHS exception for arch-indep in /usr/lib



Package: debian-policy
Severity: normal

The FHS requires:

[22] Miscellaneous architecture-independent application-specific static files
     and subdirectories must be placed in /usr/share.

Therefore, technically every package that ships a single architecture
independent file in /usr/lib has a RC bug. It's easy to see how absurd
this is:

find -type f /usr/lib | xargs file | grep ' text'

Which finds 7500 files on my system, which are only the tip of the iceberg.

A good example is /usr/lib/git-core/, which contains a mix of scripts
and compiled binaries. To split this, git would have to be patched to
look in two places, which would make it a little slower (or larger),
make the package diverge more from upstream[1], and cause ongoing work
for the package maintainer as the implentation of various programs
changes.

The fact is that we're doing a good job separating out a big chunk of
arch indep data in /usr/share. My laptop has 6.7 gb there, vs 3.7 gb in
/usr/lib. But we're only doing it on a least-effort basis, because there
are few compelling use cases for sharing /usr/share between modern
systems.

So, I propse adding to the list of exceptions in policy section 9.1.1:

   The FHS requirement that architecture-independent application-specific
   static files be located in /usr/share is relaxed to a suggestion.

   In particular, a subdirectory of /usr/lib may be used by a package
   (or a collection of packages) to hold a mixture of architecture-independent
   and architecture-dependent files. However, when a directory is
   entirely composed of architecture-independent files, it should be
   located in /usr/share.

-- 
see shy jo

[1] Sometimes in ways that break interoperability, for example
    git-sh-setup(1) documents an arch indep file that things
    rely on being located in git's --exec-path.

Attachment: signature.asc
Description: Digital signature


Reply to: