On Fri, Aug 14, 2009 at 01:22:46PM -0400, Joey Hess wrote:
> Colin Watson wrote:
> > /usr/share/perl5/Debian/Debhelper/Buildsystem/autoconf.pm sets
> > libexecdir to $prefix/lib/$sourcepackage. This is unhelpful - Autoconf's
> > default for libexecdir is $prefix/libexec (which should obviously be
> > $prefix/lib instead on Debian), and in Automake you're supposed to use
> > pkglibexecdir if you want a package-specific subdirectory.
> >
> > The effect of defining libexecdir this way is that, after conversion to
> > dh_auto_configure, man-db installs a couple of files into
> > /usr/lib/man-db/man-db/ rather than just /usr/lib/man-db/ as it's
> > supposed to.
> >
> > Could you please pass just --libexecdir=\${prefix}/lib instead?
>
> I copied all the default parameters from cdbs, on the assumption it got
> something right. :-)
Mmm. I just tried to find some record of why this was done in cdbs, but
failed.
> Changing this stuff is hard. It really calls for a regression test build
> of all possibly affected packages..
Quite so. :-(
> But, autoconf doesn't have a pkglibexecdir, so changing it would dump
> stuff directly in /usr/lib.
Well, the GNU standards say:
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.
--
Colin Watson [[email protected]]
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]