Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 688458 - */s6*, dev-lang/execline: programs in /bin link to libraries in /usr/lib*
Summary: */s6*, dev-lang/execline: programs in /bin link to libraries in /usr/lib*
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: William Hubbs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-22 07:53 UTC by Michał Górny
Modified: 2019-07-14 18:34 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2019-06-22 07:53:20 UTC
This seems to be a common theme to all those NIH s6 packages: all programs are installed to /bin, all libraries end up in /usr/lib*.  This is plain wrong, as /usr hierarchy is subordinate to /, not the other way around.

To summarize:

- this is plain broken with split /usr (not that we support it),

- this heavily pollutes /bin for no good reason.

Please move the programs to /usr/bin where they belong.
Comment 1 Samuel Holland 2019-06-22 15:08:49 UTC
s6 and s6-rc are an init system/service manager/process supervisor. The binaries (and their dependencies) must be on the rootfs in a split-/usr case, since they are responsible for bringing up the system and mounting /usr. The binaries belong in /bin; putting them in /usr/bin would be broken.

Putting the libraries in /usr/lib was done precisely to avoid polluting /lib. These packages are recommended to be installed with USE=static, and in that case the libraries are not needed at boot time. If they must match, then we will move the libraries to /lib.
Comment 2 William Hubbs gentoo-dev 2019-07-14 18:14:11 UTC
There isn't anything to fix here.
If you are using split /usr, the only way we support this is via an
initramfs. If you use an initramfs, there will be no issue.
Comment 3 Mike Gilbert gentoo-dev 2019-07-14 18:34:51 UTC
(In reply to Samuel Holland from comment #1)
> Putting the libraries in /usr/lib was done precisely to avoid polluting
> /lib. These packages are recommended to be installed with USE=static, and in
> that case the libraries are not needed at boot time. If they must match,
> then we will move the libraries to /lib.

If you're really worried about bloating /lib, put the static libs in /usr/lib, and the shared libs in /lib. Otherwise, the shared libs are not usable without /usr mounted.