GNU bug report logs - #11030
should an empty "pkgdata_DATA" cause creation of $(pkgdatadir) by "make install"?

Previous Next

Package: automake;

Reported by: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Date: Fri, 16 Mar 2012 22:36:01 UTC

Severity: normal

Tags: patch

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 11030 in the body.
You can then email your comments to 11030 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#11030; Package automake. (Fri, 16 Mar 2012 22:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefano Lattarini <stefano.lattarini <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Fri, 16 Mar 2012 22:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Bruno Haible <bruno <at> clisp.org>
Cc: Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>, bug-automake <at> gnu.org,
	Automake List <automake <at> gnu.org>
Subject: Re: should an empty "pkgdata_DATA" cause creation of $(pkgdatadir)
	by "make install"?
Date: Fri, 16 Mar 2012 23:04:51 +0100
Hi Bruno, sorry for the delay, thanks for your detailed reply.

On 03/13/2012 05:47 PM, Bruno Haible wrote:
> [Dropping bug-gnulib from CC.]
>
And now adding bug-automake.

References:

  Original thread on bug-gnulib:
  <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00078.html>

  Follow-up on the automake list:
  <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>

  A related issue:
  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10997>


> Stefano Lattarini wrote:
>> So we're in a sort of a tie here: some users think that the current Automake
>> behaviour is a feature (and I lean toward that position), other ones (with
>> Ralf among them, apparently) believe it's a bug.  Hmmm.
> 
> The most important question in such a situation is: Can users who wish to
> have the opposite behaviour get it?
> 
> If the answer to this question is yes, then: What are the use-cases of these
> two behaviours? Are they sound? How many users do they affect?
> 
> About the first question:
> 
>   * If Automake does not create an empty directory by default, can users
>     get it created?
> 
>     Answer: Yes, they write a rule like this:
> 
>         installdirs-local:
>                 $(mkdir_p) $(DESTDIR)$(pkgdatadir)
>
Right, with the nit s/$(mkdir_p)/$(MKDIR_P)/ (the former variable has been
long-deprecated, and will be removed in automake 1.13).

>   * If Automake does create an empty directory by default, can users avoid
>     it?
> 
>     Answer: For users who generate their Makefile.am (like gnulib-tool), yes.
>     For users who use constructs like
> 
>         pkgdata_DATA =
>         if WINDOWS
>         pkgdata_DATA += documentation.chm
>         endif
>         if MACOS
>         pkgdata_DATA += bundle.nib
>         endif
> 
>     what is the answer? Can they write
> 
>         if WINDOWS || MACOS
>
Note that automake conditionals don't support conjunction nor disjunction ...

>         pkgdata_DATA =
>         if WINDOWS
>         pkgdata_DATA += documentation.chm
>         endif
>         if MACOS
>         pkgdata_DATA += bundle.nib
>         endif
>         endif
> 
>     Does this have the effect of avoiding an empty directory?
>
... so this idiom wouldn't even work :-(

And sadly, we have a much worse bug anyway, i.e., even this:

  if FALSE
  pkgdata_DATA = foo
  endif

will end up creating $(pkgdata)!  Issue already reported as bug#10997,
and already exposed in the testsuite (see 'instdir-cond.test').

>         pkgdata_DATA =
>         if WINDOWS
>         pkgdata_DATA += documentation.chm
>         endif
>         if MACOS
>         pkgdata_DATA += bundle.nib
>         endif
>         endif

> Second question:
> 
>   * Who needs to avoid an empty installation directory?
> 
>     I think, everyone who installs files conditionally. Can be many packages.
>
Makes sense, once s/needs to/might need to/.

>   * Who needs to create an empty installation directory?
> 
>     Hmm?
>
I must admit this is not a common requirement ...  Automake did this for a brief
time (now that it requires the system acdir to be existent), but the fact that we
were creating an *empty* directory kept bugging me so much that I ended up adding
a README file into it anyway ...

> Please fill in the remaining answers; I could only come up with partial
> answers.
> 
> Bruno
> 
You have convinced me that this behaviour is more a bug than a feature.

And since we have already seen some bug fixes in maint after 1.11.3, a fix for
this issue might warrant a 1.11.4 release ...

Regards,
  Stefano




Information forwarded to bug-automake <at> gnu.org:
bug#11030; Package automake. (Sat, 17 Mar 2012 17:48:02 GMT) Full text and rfc822 format available.

Message #8 received at 11030 <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Bruno Haible <bruno <at> clisp.org>
Cc: 11030 <at> debbugs.gnu.org,
	"automake-patches <at> gnu.org" <automake-patches <at> gnu.org>
Subject: Re: bug#11030: should an empty "pkgdata_DATA" cause creation of
	$(pkgdatadir) by "make install"?
Date: Sat, 17 Mar 2012 18:16:15 +0100
[Message part 1 (text/plain, inline)]
[dropping automake, adding automake-patches]

On 03/16/2012 11:04 PM, Stefano Lattarini wrote:
>
> You have convinced me that this behaviour is more a bug than a feature.
> 
And here is a patch (for maint) that should settle the issue.  I will push by
tomorrow if there is no objection.

Regards,
  Stefano
[0001-install-don-t-create-empty-dirs-when-an-empty-foo_PR.patch (text/x-diff, attachment)]

Information forwarded to bug-automake <at> gnu.org:
bug#11030; Package automake. (Sun, 18 Mar 2012 07:34:02 GMT) Full text and rfc822 format available.

Message #11 received at 11030 <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Bruno Haible <bruno <at> clisp.org>
Cc: 11030 <at> debbugs.gnu.org,
	"automake-patches <at> gnu.org" <automake-patches <at> gnu.org>
Subject: Re: bug#11030: should an empty "pkgdata_DATA" cause creation of
	$(pkgdatadir) by "make install"?
Date: Sun, 18 Mar 2012 08:03:02 +0100
On 03/17/2012 06:16 PM, Stefano Lattarini wrote:
> [dropping automake, adding automake-patches]
> 
> On 03/16/2012 11:04 PM, Stefano Lattarini wrote:
>>
>> You have convinced me that this behaviour is more a bug than a feature.
>>
> And here is a patch (for maint) that should settle the issue.  I will push by
> tomorrow if there is no objection.
>
And consider the hunk below squashed in.

Regards,
  Stefano

diff --git a/HACKING b/HACKING
index 5420fbc..8b5cdb9 100644
--- a/HACKING
+++ b/HACKING
@@ -75,6 +75,9 @@
   "important" command it runs.  The printed commands should be preceded
   by a single space.

+* Ensure install rules do not create any installation directory where
+  nothing is to be actually installed.  See automake bug#11030.
+
 ================================================================
 = Editing automake.in and aclocal.in




Information forwarded to bug-automake <at> gnu.org:
bug#11030; Package automake. (Sun, 18 Mar 2012 19:51:02 GMT) Full text and rfc822 format available.

Message #14 received at 11030 <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Bruno Haible <bruno <at> clisp.org>
Cc: 11030 <at> debbugs.gnu.org,
	"automake-patches <at> gnu.org" <automake-patches <at> gnu.org>
Subject: Re: bug#11030: should an empty "pkgdata_DATA" cause creation of
	$(pkgdatadir) by "make install"?
Date: Sun, 18 Mar 2012 20:19:53 +0100
tags 11030 + patch
close 11030
thanks

On 03/18/2012 08:03 AM, Stefano Lattarini wrote:
>
>> On 03/16/2012 11:04 PM, Stefano Lattarini wrote:
>>>
>>> You have convinced me that this behaviour is more a bug than a feature.
>>>
>> And here is a patch (for maint) that should settle the issue.  I will push by
>> tomorrow if there is no objection.
>>
Patch pushed now.  I'm thus closing this bug report.

Regards,
  Stefano




Added tag(s) patch. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Sun, 18 Mar 2012 19:51:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 11030 <at> debbugs.gnu.org and Stefano Lattarini <stefano.lattarini <at> gmail.com> Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Sun, 18 Mar 2012 19:51:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#11030; Package automake. (Sun, 18 Mar 2012 22:05:01 GMT) Full text and rfc822 format available.

Message #21 received at 11030 <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Bruno Haible <bruno <at> clisp.org>
Cc: 11030 <at> debbugs.gnu.org,
	"automake-patches <at> gnu.org" <automake-patches <at> gnu.org>
Subject: [FYI] {maint} install-mans: avoid spurious failure with NetBSD make
	(was: Re: bug#11030: should an empty "pkgdata_DATA" cause creation of
	$(pkgdatadir) by "make install"?)
Date: Sun, 18 Mar 2012 22:34:03 +0100
[Message part 1 (text/plain, inline)]
On 03/18/2012 08:19 PM, Stefano Lattarini wrote:
> tags 11030 + patch
> close 11030
> thanks
> 
> On 03/18/2012 08:03 AM, Stefano Lattarini wrote:
>>
>>> On 03/16/2012 11:04 PM, Stefano Lattarini wrote:
>>>>
>>>> You have convinced me that this behaviour is more a bug than a feature.
>>>>
>>> And here is a patch (for maint) that should settle the issue.  I will push by
>>> tomorrow if there is no objection.
>>>
> Patch pushed now.  I'm thus closing this bug report.
> 
The change introduced some new issues with NetBSD make when installing manpages.
The attached follow-up (already applied to maint and merged into branch-1.11)
fixes that.

Sorry for the noise,
  Stefano
[0001-install-mans-avoid-spurious-failure-with-NetBSD-make.patch (text/x-diff, attachment)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 16 Apr 2012 11:24:02 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 10 days ago.

Previous Next


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