GNU bug report logs - #9651
Files in AC_REQUIRE_AUX_FILE aren't automatically distributed

Previous Next

Package: automake;

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

Date: Sun, 2 Oct 2011 10:03: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 9651 in the body.
You can then email your comments to 9651 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#9651; Package automake. (Sun, 02 Oct 2011 10:03:01 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. (Sun, 02 Oct 2011 10:03:01 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: bug-automake <at> gnu.org
Subject: Files in AC_REQUIRE_AUX_FILE aren't automatically distributed
Date: Sun, 2 Oct 2011 12:00:48 +0200
[Message part 1 (text/plain, inline)]
The automake manual says:

AC_REQUIRE_AUX_FILE
  For each AC_REQUIRE_AUX_FILE([file]), automake will ensure that file
  exists in the aux directory, and will complain otherwise. It will also
  automatically distribute the file.

But the last sentence is incorrect (see attached test case).

Regards,
  Stefano
[dist-auxfile.test (application/x-shellscript, inline)]

Information forwarded to bug-automake <at> gnu.org:
bug#9651; Package automake. (Thu, 06 Oct 2011 11:41:01 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: 9651 <at> debbugs.gnu.org, automake-patches <at> gnu.org
Subject: Re: bug#9651: Files in AC_REQUIRE_AUX_FILE aren't automatically
	distributed
Date: Thu, 6 Oct 2011 13:39:41 +0200
[Message part 1 (text/plain, inline)]
On Sunday 02 October 2011, Stefano Lattarini wrote:
> The automake manual says:
> 
> AC_REQUIRE_AUX_FILE
>   For each AC_REQUIRE_AUX_FILE([file]), automake will ensure that file
>   exists in the aux directory, and will complain otherwise. It will also
>   automatically distribute the file.
> 
> But the last sentence is incorrect (see attached test case).
>
Apparently, the bug seems to be present only when the directory of the
auxiliary files itself contains a Makefile.am (in particular, when it
is `.').  I've committed the attached patch (to maint) to expose the bug.
I'm working on a fix (that also tackles bug#9546), but that is still
causing few unresolved issues with threaded automake, and will introduce
some (very minor) backward-incomatibilities, so I plan to finally commit
the fix to master only.

Regards,
  Stefano

[0001-coverage-expose-automake-bug-9651.patch (text/x-patch, inline)]
From e8082fb643b8ecd5997b9d8ca52204a81d60ea10 Mon Sep 17 00:00:00 2001
Message-Id: <e8082fb643b8ecd5997b9d8ca52204a81d60ea10.1317901115.git.stefano.lattarini <at> gmail.com>
From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Date: Thu, 6 Oct 2011 13:26:58 +0200
Subject: [PATCH] coverage: expose automake bug#9651

* tests/dist-auxfile.test: New test, xfailing.
* tests/dist-auxfile-2.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
---
 ChangeLog                 |    7 +++
 tests/Makefile.am         |    4 ++
 tests/Makefile.in         |    4 ++
 tests/dist-auxfile-2.test |   62 +++++++++++++++++++++++++++++
 tests/dist-auxfile.test   |   96 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 173 insertions(+), 0 deletions(-)
 create mode 100755 tests/dist-auxfile-2.test
 create mode 100755 tests/dist-auxfile.test

diff --git a/ChangeLog b/ChangeLog
index 7d22655..b195156 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-10-06  Stefano Lattarini  <stefano.lattarini <at> gmail.com>
+
+	coverage: expose automake bug#9651
+	* tests/dist-auxfile.test: New test, xfailing.
+	* tests/dist-auxfile-2.test: Likewise.
+	* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
+
 2011-10-01  Stefano Lattarini  <stefano.lattarini <at> gmail.com>
 
 	parallel-tests: automake error our on invalid TEST_EXTENSIONS
diff --git a/tests/Makefile.am b/tests/Makefile.am
index f9b8d6c..bf17aea 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -20,6 +20,8 @@ XFAIL_TESTS = \
 all.test \
 auxdir2.test \
 cond17.test \
+dist-auxfile.test \
+dist-auxfile-2.test \
 gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
@@ -316,6 +318,8 @@ destdir.test \
 dirlist.test \
 dirlist2.test \
 discover.test \
+dist-auxfile.test \
+dist-auxfile-2.test \
 dist-included-parent-dir.test \
 distcleancheck.test \
 distcom2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index adfac58..f66a9c7 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -291,6 +291,8 @@ XFAIL_TESTS = \
 all.test \
 auxdir2.test \
 cond17.test \
+dist-auxfile.test \
+dist-auxfile-2.test \
 gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
@@ -600,6 +602,8 @@ destdir.test \
 dirlist.test \
 dirlist2.test \
 discover.test \
+dist-auxfile.test \
+dist-auxfile-2.test \
 dist-included-parent-dir.test \
 distcleancheck.test \
 distcom2.test \
diff --git a/tests/dist-auxfile-2.test b/tests/dist-auxfile-2.test
new file mode 100755
index 0000000..08daa6c
--- /dev/null
+++ b/tests/dist-auxfile-2.test
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Files specified by AC_REQUIRE_AUX_FILE must exist, and if a Makefile
+# is present in the build-aux directory, they correctly get automatically
+# distributed.
+# Related to automake bug#9651.
+
+am_create_testdir=empty
+. ./defs || Exit 1
+
+set -e
+
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AC_CONFIG_AUX_DIR([sub])
+AM_INIT_AUTOMAKE
+AC_REQUIRE_AUX_FILE([zardoz])
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub
+test: distdir
+	ls -l $(distdir) $(distdir)/* ;: For debugging.
+	test -f $(distdir)/sub/zardoz
+.PHONY: test
+check-local: test
+END
+
+mkdir sub
+: > sub/Makefile.am
+
+echo dummy > sub/zardoz
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+test -f sub/install-sh
+# Should work also without `--add-missing'.
+$AUTOMAKE
+
+./configure
+
+$MAKE test
+$MAKE distcheck
+
+:
diff --git a/tests/dist-auxfile.test b/tests/dist-auxfile.test
new file mode 100755
index 0000000..2776a25
--- /dev/null
+++ b/tests/dist-auxfile.test
@@ -0,0 +1,96 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Files specified by AC_REQUIRE_AUX_FILE must exist, and they get
+# automatically distributed by the top-level Makefile.am.
+# Automake bug#9651 reported that this didn't happen when the build-aux
+# directory was set to `.' by AC_CONFIG_AUX_DIR.
+
+am_create_testdir=empty
+. ./defs || Exit 1
+
+set -e
+
+i=0
+for auxdir in build-aux ''; do
+
+  echo "*** Testing with auxdir '$auxdir' ***"
+
+  i=`expr $i + 1`
+  mkdir T$i.d
+  cd T$i.d
+
+  unindent > configure.in <<END
+    AC_INIT([$me], [1.0])
+    AC_CONFIG_AUX_DIR([${auxdir:-.}])
+    AM_INIT_AUTOMAKE
+    AC_REQUIRE_AUX_FILE([foo.txt])
+    AC_REQUIRE_AUX_FILE([bar.sh])
+    AC_REQUIRE_AUX_FILE([zardoz])
+    AC_CONFIG_FILES([Makefile subdir/Makefile])
+    AC_OUTPUT
+END
+
+  echo auxdir = ${auxdir:+"$auxdir/"} > Makefile.am
+  unindent >> Makefile.am <<'END'
+    SUBDIRS = subdir
+    test: distdir
+	ls -l $(distdir) $(distdir)/*      ;: For debugging.
+	@echo DIST_COMMON = $(DIST_COMMON) ;: Likewise.
+	echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)foo.txt '
+	echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)bar.sh '
+	echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)zardoz '
+	test -f $(distdir)/$(auxdir)foo.txt
+	test -f $(distdir)/$(auxdir)bar.sh
+	test -f $(distdir)/$(auxdir)zardoz
+    .PHONY: test
+    check-local: test
+END
+
+  mkdir subdir
+  : > subdir/Makefile.am
+  
+  test -z "$auxdir" || mkdir "$auxdir" || Exit 99
+
+  if test -z "$auxdir"; then
+    auxdir=.
+    auxdir_rx='\.'
+  else
+    auxdir_rx=$auxdir
+  fi
+
+  $ACLOCAL
+  $AUTOCONF
+
+  AUTOMAKE_fails
+  grep "^configure\\.in:4:.* required file.*$auxdir_rx/foo\\.txt" stderr
+  grep "^configure\\.in:5:.* required file.*$auxdir_rx/bar\\.sh"  stderr
+  grep "^configure\\.in:6:.* required file.*$auxdir_rx/zardoz"    stderr
+
+  touch $auxdir/foo.txt $auxdir/bar.sh $auxdir/zardoz
+  cp "$testsrcdir"/../lib/missing "$testsrcdir"/../lib/install-sh $auxdir
+  $AUTOMAKE
+  ./configure
+  $MAKE test
+  $EGREP '(foo\.txt|bar\.sh|zardoz)' subdir/Makefile.in && Exit 1
+
+  $MAKE distcheck
+
+  cd ..
+
+done
+
+:
-- 
1.7.2.3


Information forwarded to bug-automake <at> gnu.org:
bug#9651; Package automake. (Thu, 06 Oct 2011 11:41:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#9651; Package automake. (Sun, 09 Oct 2011 09:36:01 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: 9651 <at> debbugs.gnu.org
Subject: Re: bug#9651: Files in AC_REQUIRE_AUX_FILE aren't automatically
	distributed
Date: Sun, 9 Oct 2011 11:09:38 +0200
On Thursday 06 October 2011, Stefano Lattarini wrote:
> On Sunday 02 October 2011, Stefano Lattarini wrote:
> > The automake manual says:
> > 
> > AC_REQUIRE_AUX_FILE
> >   For each AC_REQUIRE_AUX_FILE([file]), automake will ensure that file
> >   exists in the aux directory, and will complain otherwise. It will also
> >   automatically distribute the file.
> > 
> > But the last sentence is incorrect (see attached test case).
> >
> Apparently, the bug seems to be present only when the directory of the
> auxiliary files itself contains a Makefile.am (in particular, when it
> is `.').  I've committed the attached patch (to maint) to expose the bug.
> I'm working on a fix (that also tackles bug#9546), but that is still
> causing few unresolved issues with threaded automake, and will introduce
> some (very minor) backward-incomatibilities, so I plan to finally commit
> the fix to master only.
> 
FYI, this bug is being tackled by the patch series "Reorganize automake
internals for distribution tarball creation":

 <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00017.html>

Regards,
  Stefano




Information forwarded to bug-automake <at> gnu.org:
bug#9651; Package automake. (Sun, 09 Oct 2011 09:36:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#9651; Package automake. (Thu, 20 Oct 2011 13:29:01 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: 9651 <at> debbugs.gnu.org
Subject: Re: bug#9651: Files in AC_REQUIRE_AUX_FILE aren't automatically
	distributed
Date: Thu, 20 Oct 2011 15:27:11 +0200
On Sunday 09 October 2011, Stefano Lattarini wrote:
> On Thursday 06 October 2011, Stefano Lattarini wrote:
> > On Sunday 02 October 2011, Stefano Lattarini wrote:
> > > The automake manual says:
> > > 
> > > AC_REQUIRE_AUX_FILE
> > >   For each AC_REQUIRE_AUX_FILE([file]), automake will ensure that file
> > >   exists in the aux directory, and will complain otherwise. It will also
> > >   automatically distribute the file.
> > > 
> > > But the last sentence is incorrect (see attached test case).
> > >
> > Apparently, the bug seems to be present only when the directory of the
> > auxiliary files itself contains a Makefile.am (in particular, when it
> > is `.').  I've committed the attached patch (to maint) to expose the bug.
> > I'm working on a fix (that also tackles bug#9546), but that is still
> > causing few unresolved issues with threaded automake, and will introduce
> > some (very minor) backward-incomatibilities, so I plan to finally commit
> > the fix to master only.
> > 
> FYI, this bug is being tackled by the patch series "Reorganize automake
> internals for distribution tarball creation":
> 
>  <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00017.html>
> 
I've now merged the `dist-refactor' branch into `test-protocols' (commit
`v1.11-1230-g6042b46'), so I'm 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. (Thu, 20 Oct 2011 13:30:05 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 9651 <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. (Thu, 20 Oct 2011 13:30:06 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#9651; Package automake. (Thu, 20 Oct 2011 13:57:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 18 Nov 2011 12:24:04 GMT) Full text and rfc822 format available.

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

Previous Next


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