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.
signature.asc
Description: Digital signature