On Wed, 04 Jul 2018 at 16:13:33 +0200, Michael Biebl wrote: > Just wondering: What would be the benefit of such a change?
The main thing I wanted was for the default to be *any* non-multiarch libexecdir, which can solve multiarch co-installability for files like GNOME thumbnailers, D-Bus services and systemd services, and makes writing automated tests and manual test instructions more straightforward because the path to the helper binary doesn't have the varying multiarch tuple in it: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859724#5> If we are changing the default libexecdir away from ${libdir} (which in general is multiarch), then it seems like it makes sense to use the Autoconf and Meson default, as Niels said he'd prefer in <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859724#12>. This would also make Debian put these binaries in the same place as some other distributions (e.g. Red Hat family and Gentoo, although openSUSE uses libexecdir=/usr/lib and Arch uses libexecdir=/usr/lib/$package). > Atm, if I look through my process list, packages seems to pretty much > consistently use /usr/lib/foo/bar or /lib/foo/bar > Some even hard-code that to be like that, e.g. systemd has > > rootlibexecdir = join_paths(rootprefixdir, 'lib/systemd') systemd is a special case because historically it specifically used /lib, in its role as the root filesystem's equivalent of all of /usr/lib, /usr/libexec and /usr/share (there is no /libexec or /share). The FHS doesn't forbid this use of /{usr/,}lib. > The result will be, that we now have daemons being started from > /usr/libexec/, /lib/foo/ or /usr/lib/foo/ I don't see that as a big problem tbh. We already have daemons variously being started from /usr/bin, /usr/lib (in its role as the substitute for libexec), /usr/sbin, and their root-filesystem equivalents on non-usrmerge systems. In a previous mail you said: > Apparently there are a few packages using pkglibexecdir although I have > never encountered one myself. ostree, dovecot, vala and man-db are examples. You probably didn't notice them because it's difficult to distinguish between for example (libexecdir=/usr/lib/flatpak, libexec_PROGRAMS=flatpak-dbus-proxy) and (libexecdir=/usr/lib, PACKAGE=libostree, pkglibexec_PROGRAMS=ostree-trivial-httpd) which end up as /usr/lib/flatpak/flatpak-dbus-proxy and /usr/lib/libostree/ostree-trivial-httpd respectively. smcv