GNU bug report logs -
#9651
Files in AC_REQUIRE_AUX_FILE aren't automatically distributed
Previous Next
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.
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):
[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):
[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):
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):
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.