On Mon, Feb 20, 2012 at 09:17:30PM +0100, Kay Sievers wrote: > On Mon, Feb 20, 2012 at 20:18, Toshio Kuratomi <a.badger@xxxxxxxxx> wrote: > > On Mon, Feb 20, 2012 at 06:30:11PM +0100, Lennart Poettering wrote: > >> On Mon, 20.02.12 09:25, Toshio Kuratomi (a.badger@xxxxxxxxx) wrote: > > >> > This sounds like the unit files belong in %{_libdir} now? However, that > >> > would mean that they can't go into noarch packages. So we probably need to > >> > know a little more about just how architecture dependent these unit files > >> > can be. > >> > >> No, not %{_libdir}, but rather %{_prefix}/lib. (i.e. we do not want to ship > >> two different versions for 32bit and 64bit. We want just one, hence they > >> belong in /lib unconditionally) > >> > > Okay, so this is one more area where when people mispackage a library and > > a program in the same subpackage, they'll get bitten? > > I'm convinced that the default of $libexedir should just be set to > /usr/lib and all packages using libexecdir should use a subdir in > that, So I have to admit here that I have no idea why systemd is using $libexecdir here. The definition of libexecdir does not support the storing of unit files: """ 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’. """ unit files are declarative, not executable. It sounds like upstream systemd wants to use $(exec_prefix)/lib/systemd for the unit files and is attempting to shoehorn those into libexecdir because some distros set libexecdir to ${exec_prefix}/lib whereas some distros on some arches set libdir to ${exec_prefix}lib64 This is incorrect use of libexecdir. They should just use ${exec_prefix}/lib if that is the place that makes the most sense. (Or make up a new config variable that they submit to the GNU coding standards). -Toshio
Attachment:
pgp9qONFFcLgd.pgp
Description: PGP signature
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel