dracutdevs / dracut

dracut the event driven initramfs infrastructure
https://github.com/dracutdevs/dracut/wiki
GNU General Public License v2.0
598 stars 397 forks source link

Please install install into ${prefix}/libexec instead of ${prefix}lib #2485

Open bdrung opened 1 year ago

bdrung commented 1 year ago

Lintian on Debian complains about dozen of executables in /usr/lib/dracut with following reasoning:

The package ships an executable file in /usr/lib.

Please move the file to /usr/libexec.

With policy revision 4.1.5, Debian adopted the Filesystem Hierarchy Specification (FHS) version 3.0.

The FHS 3.0 describes /usr/libexec. Please use that location for executables.

Please refer to File System Structure (Section 9.1.1) in the Debian Policy Manual, filesystem-hierarchy, https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html, and Bug#954149 for details.

Please change the configure script to use --libexecdir instead of --libdir and default it to ${prefix}/libexec.

aafeijoo-suse commented 1 year ago

The problem here is that if a dracut module contains executables and non executables, the module would be split into 2 separate directories, one in /usr/lib and one in /usr/libexec, which implies that a single moddir variable is no longer valid, so fixing this issue is more complex than just changing the configure script. See for example how the files of the dracut-systemd module are installed:

https://github.com/dracutdevs/dracut/blob/7528d84de84d9c1fb7d5f54712c692600e21b044/modules.d/98dracut-systemd/module-setup.sh#L21-L58

bdrung commented 1 year ago

Good point. https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html says: " Either practice is now acceptable"

Please close this bug if the added complexity will not warrant the cost. Then I will add a lintian override.

aafeijoo-suse commented 1 year ago

I'd leave it open for now, because your concern is very valid. Let's see what others think about this.