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]

Reply via email to