Since William is attempting to change policy with Portage patches [1], I'd like to call a vote to confirm that the policy corresponding to the existing Portage checks and standard practice at the time [2]: Static libraries (.a) and libtool files (.la) must not be installed to /lib*. Instead, they should be installed to /usr/lib*. If shared library needs to be installed to /lib*, gen_usr_ldscript needs to be used to create .so script in /usr/lib*. Rationale: according to the current policy, the purpose of rootfs is to store executables and relevant files needed to boot the system up to the point of mounting /usr, and provide recovery. While technically we seem no longer to care about this working without an initramfs, many of our users still maintain split partitions for historical reasons, with rootfs being small. It is therefore reasonable to avoid installing unnecessary files there. Static libraries are used only during build time, they are therefore absolutely unnecessary at boot time. Depending on compilation flags and FEATURES, they can easily get very large. If we start permitting installing more and more unnecessary stuff to rootfs (what for, really?) it'll easily become cluttered and cause problems for people who followed historical Gentoo installation instructions. Please discuss/vote. [1] https://archives.gentoo.org/gentoo-portage-dev/message/6e4cfbb0ef9c36dc6511d4f2003cc458 [2] https://gitweb.gentoo.org/proj/portage.git/tree/bin/install-qa-check.d/80libraries#n155
Yes (i.e. ban static archives and .la files in /lib)
From what I see upstream in portage, there really is not a reason given to force this check; it was just added with no bug number and no explanation. https://gitweb.gentoo.org/proj/portage.git/commit/?id=5beb22875 https://gitweb.gentoo.org/proj/portage.git/commit/?id=71c9ff5b50
Here are a couple more things to consider. If the static-libs use flag is removed from an ebuild this check is completely irrelivent since the ebuild will not be building static libs in the first place. If we remove the static-libs use flag from all ebuilds that install libs in /, there really is no reason for the check. Also, since this is a gentoo-ism, the check fits imo better in metadata/install-qa-check.d instead of portage itself if we keep it. libs to go in / to begin with, so this would be more reason to remove this check. Also,
This is best practice and common sense since many years, we shouldn't even need an explicit policy for it. I vote yes.
I vote yes.
i vote yes