Skip to content

Install the service executables in libexecdir

Dirk HOFFMANN requested to merge github/fork/bochecha/service-executables into master

Created by: bochecha

This is the proper directory according to the GNU guidelines:

The directory for installing executable programs to be run by other programs rather than by users.

https://www.gnu.org/prep/standards/html_node/Directory-Variables.html#index-libexecdir

Libexecdir used to be absent from the FHS but it was added in version 3.0 of the standard, which was released in 2015:

/usr/libexec includes internal binaries that are not intended to be executed directly by users or shell scripts. Applications may use a single subdirectory under /usr/libexec.

https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibexec

Those executables are the launchers for the background services, and are not intended to be run by users (e.g the Linux one is run by DBus) which makes libexecdir the better place to install them.


The default as recommanded by GNU is $(prefix)/libexec. This is what Linux distributions like Fedora use.

However, other distributions (most notably Debian) mandate in their policy that libexecdir must be libdir. The second commit in this branch makes it possible for those distributions to override the default.

Merge request reports

Loading