[FHS] helper scripts location

Ralf Corsepius rc040203 at freenet.de
Tue Jun 14 05:14:20 UTC 2011


On 06/14/2011 12:26 AM, Kevin Kofler wrote:
> Haïkel Guémar wrote:
>> I spent some time yesterday talking with opensuse guys on irc, since
>> /usr/libexec has not been blessed by FHS
libexecdir is GNU Standards for ages (decades).

It's supposed to be kind of an "auxilliary bindir", to hide away 
programs, users are not supposed to execute directly.

It's formal definition[1] is

<cite>
libexecdir

     The directory for installing executable programs to be run by other 
programs rather than by users. This directory should normally be 
‘/usr/local/libexec’, but write it as ‘$(exec_prefix)/libexec’. (If you 
are using Autoconf, write it as ‘@libexecdir@’.)

     The definition of ‘libexecdir’ is the same for all packages, so you 
should install your data in a subdirectory thereof. Most packages 
install their data under ‘$(libexecdir)/package-name/’, possibly within 
additional subdirectories thereof, such as 
‘$(libexecdir)/package-name/machine/version’.
</cite>

In Fedora, we treat libexecdir as optional and allow packages to install 
such "non-user programs" to %libdir/<subdir>/ instead, primarily for 
historical reasons.

> Actually, libexec can be interpreted as being a libdir with the multilib
> suffix "exec" (just like "64" is one),
Multilib subdirs are arbitrary directory names. There is no convention 
of them being named "lib*".

You might not have tripped over such them on intel based platforms, but 
are very common on other architectures/OSes.

Ralf

[1] http://www.gnu.org/prep/standards/standards.html


More information about the devel mailing list