GNU bug report logs - #10997
pkglibexecdir is unconditionally created when make install

Previous Next

Package: automake;

Reported by: Daiki Ueno <ueno <at> unixuser.org>

Date: Mon, 12 Mar 2012 05:45:01 UTC

Severity: minor

Tags: patch

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Peter Breitenlohner <peb <at> mppmu.mpg.de>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: ueno <at> unixuser.org, 10997 <at> debbugs.gnu.org, automake-patches <at> gnu.org
Subject: bug#10997: pkglibexecdir is unconditionally created when make install
Date: Mon, 12 Mar 2012 12:21:51 +0100 (CET)
On Mon, 12 Mar 2012, Stefano Lattarini wrote:

> On 03/12/2012 05:55 AM, Daiki Ueno wrote:
>> I got a bug report for my package, which conditionally installs some
>> scripts into pkglibexecdir like this:
>>
>> if ENABLE_FOO
>> pkglibexec_SCRIPTS = bar
>> endif
>>
>> where pkglibexec* is not referred outside of if...endif.  When "make
>> install", automake creates pkglibexecdir even when ENABLE_FOO is false.
>>
>> I'm attaching a prove which demonstrates the behavior.
>>
> I agree it would be nice to avoid creating directories that are not actually
> needed; still, this is a low-priority bug, and I'm not yet sure how difficult
> it would be to fix.  For the moment, I've committed (in your name) the test
> case you've sent us (with minor tweakings), so that the bug will at least
> remain exposed in the testsuite.  Attached is the patch I've pushed (to maint).

Fixing this particular case might be fine, but please watch out.
In the quite similar (unconditional) case
  pkglibexec_SCRIPTS =
one might actually expect that that $(pkglibexecdir) is created
unconditionally.  (Perhaps because 'install-exec-local' or
'install-data-local' wants to install some files into that directory.)

In the TeX Live build system we actually use something quite analogous:
  nodist_bin_SCRIPTS =
  texmfdir = $(datarootdir)/texmf/scripts/xindy
  nodist_texmf_SCRIPTS = texindy.pl xindy.pl
  install-data-hook: install-perl-links
where 'install-perl-links' installs in $(bindir) the symbolic links
'texindy' and 'xindy' pointing to the respective perl scripts in
$(texmfdir).

To summarize: 'nodist_bin_SCRIPTS =' is an extremely convenient way to
ensure that $(bindir) -- or rather $(DESTDIR)$(bindir) -- exists.

Regards
Peter Breitenlohner <peb <at> mppmu.mpg.de>




This bug report was last modified 13 years and 145 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.