GNU bug report logs - #10111
remake rules can fail in a weird corner case (VPATH into $distdir).

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: automake; Severity: minor; Reported by: Stefano Lattarini <stefano.lattarini@HIDDEN>; dated Tue, 22 Nov 2011 19:06:02 UTC; Maintainer for automake is bug-automake@HIDDEN.

Message received at 10111 <at> debbugs.gnu.org:


Received: (at 10111) by debbugs.gnu.org; 24 Nov 2011 14:53:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 24 09:53:57 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RTagX-0008Fn-0i
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2011 09:53:57 -0500
Received: from mail-ww0-f46.google.com ([74.125.82.46])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RTagS-0008Fd-1S
	for 10111 <at> debbugs.gnu.org; Thu, 24 Nov 2011 09:53:55 -0500
Received: by wwg9 with SMTP id 9so3086570wwg.15
	for <10111 <at> debbugs.gnu.org>; Thu, 24 Nov 2011 06:52:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=from:to:subject:date:user-agent:cc:references:in-reply-to
	:mime-version:message-id:content-type;
	bh=1AbOcWmYw/3dJIXBpjahNepOptSb7SK98R03boVP1qU=;
	b=k3IBJwsSeWh+WmsHi74P9zZWkfMFunEEHjEnzR0kx1G7uzKSKgWDje+a98LJjP7uYF
	3/nqmDH5/ATR9OzlAdZ7Yn0sfOQn8IwRuJo4red7iCiRgH9OITrHZUjtc4xkgKudqsJE
	suQ0ryM8CU098wm7UMHC0qlGg6TV5pSWG5MuM=
Received: by 10.216.24.21 with SMTP id w21mr410653wew.57.1322146339823;
	Thu, 24 Nov 2011 06:52:19 -0800 (PST)
Received: from bigio.localnet
	(host129-94-dynamic.7-79-r.retail.telecomitalia.it. [79.7.94.129])
	by mx.google.com with ESMTPS id hq5sm9515914wib.7.2011.11.24.06.52.17
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 24 Nov 2011 06:52:18 -0800 (PST)
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
To: Krzysztof =?utf-8?q?=C5=BBelechowski?= <giecrilj@HIDDEN>
Subject: Re: bug#10111: typo fix
Date: Thu, 24 Nov 2011 15:52:08 +0100
User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )
References: <201111222003.52223.stefano.lattarini@HIDDEN>
	<4ECCC6B2.4060507@HIDDEN>
In-Reply-To: <4ECCC6B2.4060507@HIDDEN>
MIME-Version: 1.0
Message-Id: <201111241552.09547.stefano.lattarini@HIDDEN>
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_ZolzOc6XtFDZ5/N"
X-Spam-Score: -3.9 (---)
X-Debbugs-Envelope-To: 10111
Cc: 10111 <at> debbugs.gnu.org, automake-patches@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

--Boundary-00=_ZolzOc6XtFDZ5/N
Content-Type: text/plain;
  charset="utf-8"
Content-Transfer-Encoding: quoted-printable

On Wednesday 23 November 2011, Krzysztof =C5=BBelechowski wrote:
> > +## Creative quoring to avoid spurious matches in the grepping
> quoting
>=20
Thanks for spotting it.  Fixed by the attached patch.

Regards,
  Stefano

--Boundary-00=_ZolzOc6XtFDZ5/N
Content-Type: text/x-patch;
  charset="utf-8";
  name="0001-cosmetics-typofix-in-comments.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
	filename="0001-cosmetics-typofix-in-comments.patch"

=46rom 39a0fd0267ca5aab3d7c4677586181c355233eef Mon Sep 17 00:00:00 2001
Message-Id: <39a0fd0267ca5aab3d7c4677586181c355233eef.1322133328.git.stefan=
o.lattarini@HIDDEN>
=46rom: Stefano Lattarini <stefano.lattarini@HIDDEN>
Date: Thu, 24 Nov 2011 12:14:49 +0100
Subject: [PATCH] cosmetics: typofix in comments
MIME-Version: 1.0
Content-Type: text/plain; charset=3DUTF-8
Content-Transfer-Encoding: 8bit

* tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
* THANKS: Update.

Reported by Krzysztof =C5=BBelechowski.
=2D--
 ChangeLog                    |    7 +++++++
 THANKS                       |    1 +
 tests/remake-am-pr10111.test |    2 +-
 3 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 51d2dd8..a8e6587 100644
=2D-- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-11-24  Stefano Lattarini  <stefano.lattarini@HIDDEN>
+
+	cosmetics: typofix in comments
+	* tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
+	* THANKS: Update.
+	Reported by Krzysztof =C5=BBelechowski.
+
 2011-11-22  Stefano Lattarini  <stefano.lattarini@HIDDEN>
=20
 	coverage: undistributed '.am' and '.m4' files are diagnosed
diff --git a/THANKS b/THANKS
index 7e6de25..e9da06c 100644
=2D-- a/THANKS
+++ b/THANKS
@@ -189,6 +189,7 @@ Kevin P. Fleming.	kpfleming@HIDDEN
 Kevin Ryde		user42@HIDDEN
 Kevin Street		street@HIDDEN
 Klaus Reichl		Klaus.Reichl@HIDDEN
+Krzysztof =C5=BBelechowski	giecrilj@HIDDEN
 L. Peter Deutsch	ghost@HIDDEN
 Ladislav Strojil	Ladislav.Strojil@HIDDEN
 Larry Jones		larry.jones@HIDDEN
diff --git a/tests/remake-am-pr10111.test b/tests/remake-am-pr10111.test
index a8c2dc6..6f622f8 100644
=2D-- a/tests/remake-am-pr10111.test
+++ b/tests/remake-am-pr10111.test
@@ -35,7 +35,7 @@ END
 cat > Makefile.am <<'END'
 include $(srcdir)/foobar.am
 $(srcdir)/foobar.am:
=2D## Creative quoring to avoid spurious matches in the grepping
+## Creative quoting to avoid spurious matches in the grepping
 ## of Makefile.in, later.
 	echo '#' 'foobar' 'was 'here' '#' > $@
 END
=2D-=20
1.7.2.3


--Boundary-00=_ZolzOc6XtFDZ5/N--




Information forwarded to bug-automake@HIDDEN:
bug#10111; Package automake. Full text available.

Message received at 10111 <at> debbugs.gnu.org:


Received: (at 10111) by debbugs.gnu.org; 23 Nov 2011 10:12:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 23 05:12:42 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RT9on-0007LC-Gr
	for submit <at> debbugs.gnu.org; Wed, 23 Nov 2011 05:12:41 -0500
Received: from shark.2a.pl ([195.117.102.3])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <giecrilj@HIDDEN>) id 1RT9ol-0007L5-5B
	for 10111 <at> debbugs.gnu.org; Wed, 23 Nov 2011 05:12:39 -0500
Received: from av.2a.pl (av.2a.pl [195.117.102.9])
	by shark.2a.pl (Postfix) with ESMTP id 123442A6DBF
	for <10111 <at> debbugs.gnu.org>; Wed, 23 Nov 2011 11:11:14 +0100 (CET)
X-Virus-Scanned: amavisd-new at 2a.pl
Received: from shark.2a.pl ([195.117.102.3])
	by av.2a.pl (av.2a.pl [195.117.102.9]) (amavisd-new, port 10024)
	with ESMTP id KnEn0mYh+lDi for <10111 <at> debbugs.gnu.org>;
	Wed, 23 Nov 2011 11:11:03 +0100 (CET)
Received: from [10.8.1.26] (unknown [10.8.1.26])
	by shark.2a.pl (Postfix) with ESMTPA id 9F6ED2A6D80
	for <10111 <at> debbugs.gnu.org>; Wed, 23 Nov 2011 11:11:03 +0100 (CET)
Message-ID: <4ECCC6B2.4060507@HIDDEN>
Date: Wed, 23 Nov 2011 11:10:58 +0100
From: =?UTF-8?B?S3J6eXN6dG9mIMW7ZWxlY2hvd3NraQ==?=
 <giecrilj@HIDDEN>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:7.0.1) Gecko/20110929 Firefox/7.0.1 SeaMonkey/2.4.1
MIME-Version: 1.0
To: 10111 <at> debbugs.gnu.org
Subject: typo fix
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -3.6 (---)
X-Debbugs-Envelope-To: 10111
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.5 (---)

> +## Creative quoring to avoid spurious matches in the grepping
quoting




Information forwarded to bug-automake@HIDDEN:
bug#10111; Package automake. Full text available.

Message received at 10111 <at> debbugs.gnu.org:


Received: (at 10111) by debbugs.gnu.org; 22 Nov 2011 20:26:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 22 15:26:36 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RSwvM-0003wJ-5O
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 15:26:36 -0500
Received: from mail-fx0-f44.google.com ([209.85.161.44])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSwvI-0003w8-Ff
	for 10111 <at> debbugs.gnu.org; Tue, 22 Nov 2011 15:26:34 -0500
Received: by fabs1 with SMTP id s1so857781fab.3
	for <10111 <at> debbugs.gnu.org>; Tue, 22 Nov 2011 12:25:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=from:to:subject:date:user-agent:cc:references:in-reply-to
	:mime-version:content-type:message-id;
	bh=YzmXz+h2ZTZcRORGYCiDerE7z1ut7p1JGbAC3+uvlhg=;
	b=vDbOXenzwlhhGkAUu+W8H53/B/GKnJoHPLWMdbTh0+LYV/f3ChoIujOwzpzD5p1HQy
	Nxbs5G8SVSjLtqq8XByPZWTD/8KPWzrH0uasatozHmSU7T2ekkSH8P0XSGysIMf0zgxl
	DLyd2tQYaTfQxgow2XZNR9P3oF2mugZnChOhI=
Received: by 10.180.87.199 with SMTP id ba7mr20515803wib.27.1321993510392;
	Tue, 22 Nov 2011 12:25:10 -0800 (PST)
Received: from bigio.localnet
	(host196-30-dynamic.56-82-r.retail.telecomitalia.it. [82.56.30.196])
	by mx.google.com with ESMTPS id c2sm17839473wbo.3.2011.11.22.12.25.08
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 22 Nov 2011 12:25:09 -0800 (PST)
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
To: bug-automake@HIDDEN
Subject: Re: bug#10111: remake rules can fail in a weird corner case (VPATH
	into $distdir).
Date: Tue, 22 Nov 2011 21:24:58 +0100
User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )
References: <201111222003.52223.stefano.lattarini@HIDDEN>
In-Reply-To: <201111222003.52223.stefano.lattarini@HIDDEN>
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_bUAzOoEecrs2Pxr"
Message-Id: <201111222124.59460.stefano.lattarini@HIDDEN>
X-Spam-Score: -3.9 (---)
X-Debbugs-Envelope-To: 10111
Cc: 10111 <at> debbugs.gnu.org, automake-patches@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

--Boundary-00=_bUAzOoEecrs2Pxr
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: 7bit

[adding automake-patches]

Reference:
 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10111>

On Tuesday 22 November 2011, Stefano Lattarini wrote:
> Attached are two test scripts that expose the bug for the related but
> slightly different cases of an `.m4' file included by `configure.ac'
> and an `.am' file included by `Makefile.am'.  I will soonish add them
> to the maint branch if there is no objection.
>
Done with the attached patch.

Regards,
  Stefano


--Boundary-00=_bUAzOoEecrs2Pxr
Content-Type: text/x-patch;
  charset="utf-8";
  name="0001-remake-expose-automake-bug-10111-in-the-testsuite.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
	filename="0001-remake-expose-automake-bug-10111-in-the-testsuite.patch"

=46rom 96b93273f629c4844e19d429a1cec61ff6d406c4 Mon Sep 17 00:00:00 2001
Message-Id: <96b93273f629c4844e19d429a1cec61ff6d406c4.1321991878.git.stefan=
o.lattarini@HIDDEN>
=46rom: Stefano Lattarini <stefano.lattarini@HIDDEN>
Date: Tue, 22 Nov 2011 20:50:53 +0100
Subject: [PATCH] remake: expose automake bug#10111 in the testsuite

* tests/remake-am-pr10111.test: New test, xfailing.
* tests/remake-m4-pr10111.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
=2D--
 ChangeLog                    |    7 ++++
 tests/Makefile.am            |    4 ++
 tests/Makefile.in            |    4 ++
 tests/remake-am-pr10111.test |   64 ++++++++++++++++++++++++++++++++++++++=
++++
 tests/remake-m4-pr10111.test |   62 ++++++++++++++++++++++++++++++++++++++=
++
 5 files changed, 141 insertions(+), 0 deletions(-)
 create mode 100644 tests/remake-am-pr10111.test
 create mode 100644 tests/remake-m4-pr10111.test

diff --git a/ChangeLog b/ChangeLog
index a828c21..0151d96 100644
=2D-- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-11-22  Stefano Lattarini  <stefano.lattarini@HIDDEN>
+
+	remake: expose automake bug#10111 in the testsuite
+	* tests/remake-am-pr10111.test: New test, xfailing.
+	* tests/remake-m4-pr10111.test: Likewise.
+	* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
+
 2011-11-19  Stefano Lattarini  <stefano.lattarini@HIDDEN>
=20
 	texinfo: work around Solaris 10 xpg4 shell bug in install rules
diff --git a/tests/Makefile.am b/tests/Makefile.am
index dd3fb46..936b781 100644
=2D-- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -26,6 +26,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
=20
@@ -722,6 +724,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index d2085c8..18983ae 100644
=2D-- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -297,6 +297,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
=20
@@ -1006,6 +1008,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/remake-am-pr10111.test b/tests/remake-am-pr10111.test
new file mode 100644
index 0000000..a8c2dc6
=2D-- /dev/null
+++ b/tests/remake-am-pr10111.test
@@ -0,0 +1,64 @@
+#! /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/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+AC_OUTPUT
+END
+
+: > foobar.am
+
+cat > Makefile.am <<'END'
+include $(srcdir)/foobar.am
+$(srcdir)/foobar.am:
+## Creative quoring to avoid spurious matches in the grepping
+## of Makefile.in, later.
+	echo '#' 'foobar' 'was 'here' '#' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.am
+$MAKE
+grep '# foobar was here #' ../Makefile.in
+$MAKE distcheck
+
+:
diff --git a/tests/remake-m4-pr10111.test b/tests/remake-m4-pr10111.test
new file mode 100644
index 0000000..2d89c25
=2D-- /dev/null
+++ b/tests/remake-m4-pr10111.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/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+AC_OUTPUT
+END
+
+: > foobar.m4
+
+cat > Makefile.am <<'END'
+$(srcdir)/foobar.m4:
+	echo ': foobar was here :' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.m4
+$MAKE
+grep ': foobar was here :' ../configure
+$MAKE distcheck
+
+:
=2D-=20
1.7.2.3


--Boundary-00=_bUAzOoEecrs2Pxr--




Information forwarded to bug-automake@HIDDEN:
bug#10111; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 22 Nov 2011 20:26:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 22 15:26:45 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RSwvU-0003wc-VC
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 15:26:45 -0500
Received: from eggs.gnu.org ([140.186.70.92])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSwvT-0003wW-5s
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 15:26:43 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSwu6-0002gf-1G
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 15:25:21 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
	RCVD_IN_DNSWL_LOW,T_DKIM_INVALID autolearn=unavailable version=3.3.1
Received: from lists.gnu.org ([140.186.70.17]:46803)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSwu5-0002gZ-Ty
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 15:25:17 -0500
Received: from eggs.gnu.org ([140.186.70.92]:35215)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSwu4-0001kw-GB
	for bug-automake@HIDDEN; Tue, 22 Nov 2011 15:25:17 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSwtz-0002fc-QC
	for bug-automake@HIDDEN; Tue, 22 Nov 2011 15:25:16 -0500
Received: from mail-fx0-f41.google.com ([209.85.161.41]:38326)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>)
	id 1RSwtz-0002fQ-CL; Tue, 22 Nov 2011 15:25:11 -0500
Received: by faas10 with SMTP id s10so1078201faa.0
	for <multiple recipients>; Tue, 22 Nov 2011 12:25:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=from:to:subject:date:user-agent:cc:references:in-reply-to
	:mime-version:content-type:message-id;
	bh=YzmXz+h2ZTZcRORGYCiDerE7z1ut7p1JGbAC3+uvlhg=;
	b=vDbOXenzwlhhGkAUu+W8H53/B/GKnJoHPLWMdbTh0+LYV/f3ChoIujOwzpzD5p1HQy
	Nxbs5G8SVSjLtqq8XByPZWTD/8KPWzrH0uasatozHmSU7T2ekkSH8P0XSGysIMf0zgxl
	DLyd2tQYaTfQxgow2XZNR9P3oF2mugZnChOhI=
Received: by 10.180.87.199 with SMTP id ba7mr20515803wib.27.1321993510392;
	Tue, 22 Nov 2011 12:25:10 -0800 (PST)
Received: from bigio.localnet
	(host196-30-dynamic.56-82-r.retail.telecomitalia.it. [82.56.30.196])
	by mx.google.com with ESMTPS id c2sm17839473wbo.3.2011.11.22.12.25.08
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 22 Nov 2011 12:25:09 -0800 (PST)
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
To: bug-automake@HIDDEN
Subject: Re: bug#10111: remake rules can fail in a weird corner case (VPATH
	into $distdir).
Date: Tue, 22 Nov 2011 21:24:58 +0100
User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )
References: <201111222003.52223.stefano.lattarini@HIDDEN>
In-Reply-To: <201111222003.52223.stefano.lattarini@HIDDEN>
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_bUAzOoEecrs2Pxr"
Message-Id: <201111222124.59460.stefano.lattarini@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 140.186.70.17
X-Spam-Score: -5.1 (-----)
X-Debbugs-Envelope-To: submit
Cc: 10111 <at> debbugs.gnu.org, automake-patches@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -5.1 (-----)

--Boundary-00=_bUAzOoEecrs2Pxr
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: 7bit

[adding automake-patches]

Reference:
 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10111>

On Tuesday 22 November 2011, Stefano Lattarini wrote:
> Attached are two test scripts that expose the bug for the related but
> slightly different cases of an `.m4' file included by `configure.ac'
> and an `.am' file included by `Makefile.am'.  I will soonish add them
> to the maint branch if there is no objection.
>
Done with the attached patch.

Regards,
  Stefano


--Boundary-00=_bUAzOoEecrs2Pxr
Content-Type: text/x-patch;
  charset="utf-8";
  name="0001-remake-expose-automake-bug-10111-in-the-testsuite.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
	filename="0001-remake-expose-automake-bug-10111-in-the-testsuite.patch"

=46rom 96b93273f629c4844e19d429a1cec61ff6d406c4 Mon Sep 17 00:00:00 2001
Message-Id: <96b93273f629c4844e19d429a1cec61ff6d406c4.1321991878.git.stefan=
o.lattarini@HIDDEN>
=46rom: Stefano Lattarini <stefano.lattarini@HIDDEN>
Date: Tue, 22 Nov 2011 20:50:53 +0100
Subject: [PATCH] remake: expose automake bug#10111 in the testsuite

* tests/remake-am-pr10111.test: New test, xfailing.
* tests/remake-m4-pr10111.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
=2D--
 ChangeLog                    |    7 ++++
 tests/Makefile.am            |    4 ++
 tests/Makefile.in            |    4 ++
 tests/remake-am-pr10111.test |   64 ++++++++++++++++++++++++++++++++++++++=
++++
 tests/remake-m4-pr10111.test |   62 ++++++++++++++++++++++++++++++++++++++=
++
 5 files changed, 141 insertions(+), 0 deletions(-)
 create mode 100644 tests/remake-am-pr10111.test
 create mode 100644 tests/remake-m4-pr10111.test

diff --git a/ChangeLog b/ChangeLog
index a828c21..0151d96 100644
=2D-- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-11-22  Stefano Lattarini  <stefano.lattarini@HIDDEN>
+
+	remake: expose automake bug#10111 in the testsuite
+	* tests/remake-am-pr10111.test: New test, xfailing.
+	* tests/remake-m4-pr10111.test: Likewise.
+	* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
+
 2011-11-19  Stefano Lattarini  <stefano.lattarini@HIDDEN>
=20
 	texinfo: work around Solaris 10 xpg4 shell bug in install rules
diff --git a/tests/Makefile.am b/tests/Makefile.am
index dd3fb46..936b781 100644
=2D-- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -26,6 +26,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
=20
@@ -722,6 +724,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index d2085c8..18983ae 100644
=2D-- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -297,6 +297,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
=20
@@ -1006,6 +1008,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/remake-am-pr10111.test b/tests/remake-am-pr10111.test
new file mode 100644
index 0000000..a8c2dc6
=2D-- /dev/null
+++ b/tests/remake-am-pr10111.test
@@ -0,0 +1,64 @@
+#! /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/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+AC_OUTPUT
+END
+
+: > foobar.am
+
+cat > Makefile.am <<'END'
+include $(srcdir)/foobar.am
+$(srcdir)/foobar.am:
+## Creative quoring to avoid spurious matches in the grepping
+## of Makefile.in, later.
+	echo '#' 'foobar' 'was 'here' '#' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.am
+$MAKE
+grep '# foobar was here #' ../Makefile.in
+$MAKE distcheck
+
+:
diff --git a/tests/remake-m4-pr10111.test b/tests/remake-m4-pr10111.test
new file mode 100644
index 0000000..2d89c25
=2D-- /dev/null
+++ b/tests/remake-m4-pr10111.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/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+AC_OUTPUT
+END
+
+: > foobar.m4
+
+cat > Makefile.am <<'END'
+$(srcdir)/foobar.m4:
+	echo ': foobar was here :' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.m4
+$MAKE
+grep ': foobar was here :' ../configure
+$MAKE distcheck
+
+:
=2D-=20
1.7.2.3


--Boundary-00=_bUAzOoEecrs2Pxr--




Information forwarded to bug-automake@HIDDEN:
bug#10111; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 22 Nov 2011 19:05:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 22 14:05:37 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RSvey-0001Gv-Ul
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 14:05:37 -0500
Received: from eggs.gnu.org ([140.186.70.92])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSvew-0001Go-HC
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 14:05:35 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSvdX-0003dg-KH
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 14:04:13 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
	RCVD_IN_DNSWL_LOW,T_DKIM_INVALID autolearn=unavailable version=3.3.1
Received: from lists.gnu.org ([140.186.70.17]:53958)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSvdX-0003db-Ct
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2011 14:04:07 -0500
Received: from eggs.gnu.org ([140.186.70.92]:53103)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSvdV-0002en-Nd
	for bug-automake@HIDDEN; Tue, 22 Nov 2011 14:04:07 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSvdT-0003cW-12
	for bug-automake@HIDDEN; Tue, 22 Nov 2011 14:04:05 -0500
Received: from mail-fx0-f41.google.com ([209.85.161.41]:63033)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <stefano.lattarini@HIDDEN>) id 1RSvdS-0003cB-PU
	for bug-automake@HIDDEN; Tue, 22 Nov 2011 14:04:02 -0500
Received: by faas10 with SMTP id s10so971588faa.0
	for <bug-automake@HIDDEN>; Tue, 22 Nov 2011 11:04:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=from:to:subject:date:user-agent:mime-version:content-type
	:message-id; bh=T6KEtGyDRFQTnLGAF3fkV6rw5HLvjQDM5MNDV7R4oGI=;
	b=NoK37RK0aRwrmdBV0Y7AFznaCkOm+w7HCLBmvJr74ByPmXVDY61CXYJAttnMgRS1GX
	hMif2Osn5a64bOhbkd4iZ92aoEtyS+1s/unM1DibEytd7YZQukKgdFBhOGLljltzg/2W
	O2jpG4sNomrD7gG2adPWWBj880s8vDfUX+hPg=
Received: by 10.180.108.47 with SMTP id hh15mr20742176wib.14.1321988641643;
	Tue, 22 Nov 2011 11:04:01 -0800 (PST)
Received: from bigio.localnet
	(host196-30-dynamic.56-82-r.retail.telecomitalia.it. [82.56.30.196])
	by mx.google.com with ESMTPS id
	fw16sm17580908wbb.13.2011.11.22.11.04.00
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 22 Nov 2011 11:04:01 -0800 (PST)
From: Stefano Lattarini <stefano.lattarini@HIDDEN>
To: bug-automake@HIDDEN
Subject: remake rules can fail in a weird corner case (VPATH into $distdir).
Date: Tue, 22 Nov 2011 20:03:51 +0100
User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_YI/yOgBDAnw5EVA"
Message-Id: <201111222003.52223.stefano.lattarini@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 140.186.70.17
X-Spam-Score: -5.1 (-----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -5.1 (-----)

--Boundary-00=_YI/yOgBDAnw5EVA
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: 7bit

Severity: minor
thanks

This report describes a failure of the automake-generated remake
rules in a particular, low-probability scenario.  I admit upfront
that the scenario I'm speaking about is pretty corner-case, and
very unlikely to be problemtic in practice.  Still, I think it's
still worth having a description and a testsuite exposure for the
problem.

Here is how to reporduce the bug, step by step.

  $ mkdir bug
  $ cd bug
  $ cat > configure.ac <<'END'
  AC_INIT([foo], [1.0])
  AM_INIT_AUTOMAKE([foreign])
  m4_include([foobar.m4])
  AC_CONFIG_FILES([Makefile])
  AC_OUTPUT
  END
  $ : > foobar.m4
  $ cat > Makefile.am <<'END'
  $(srcdir)/foobar.m4:
	echo ': foobar was here :' > $@
  END
  $ autoreconf -vi
  autoreconf: Entering directory `.'
  autoreconf: configure.ac: not using Gettext
  autoreconf: running: aclocal 
  autoreconf: configure.ac: tracing
  autoreconf: configure.ac: not using Libtool
  autoreconf: running: /usr/bin/autoconf
  autoreconf: configure.ac: not using Autoheader
  autoreconf: running: automake --add-missing --copy --no-force
  configure.ac:2: installing `./install-sh'
  configure.ac:2: installing `./missing'
  autoreconf: Leaving directory `.'
  $ ./configure
  checking for a BSD-compatible install... /usr/bin/install -c
  checking whether build environment is sane... yes
  ...
  config.status: creating Makefile
  # OK, so the developer wants to interactively try out how the
  # "distributed form" of his package behaves
  $ make distdir
  ...
  $ ls foo-1.0 
  Makefile.am  aclocal.m4  configure.ac  install-sh
  Makefile.in  configure   foobar.m4     missing
  $ cd f00-1.0
  # He's interested in trying out a VPATH build.
  $ mkdir build && cd build
  $ ../configure
  checking for a BSD-compatible install... /usr/bin/install -c
  ...
  config.status: creating Makefile
  # He wants to verify that the rules he's written to rebuild a file
  # included by configure.in works also in VPATH builds.
  $ rm -f ../foobar.m4
  # But things won't work as expected!
  $ make
  make: Nothing to be done for `all'.
  $ ls -l ../foobar.m4
  ls: cannot access ../foobar.m4: No such file or directory
  $ grep foobar ../configure || echo no match
  no match
  # And a spurious error will fail when trying to rebuild the
  # distribution tarball.
  $ make dist
  ...
  test -d "foo-1.0" || mkdir "foo-1.0"
  cp: cannot stat `../foobar.m4': No such file or directory
  make: *** [distdir] Error 1

Let's see the explanation of the bug.  The following dependency is
in the generated Makefile:

  $(top_srcdir)/configure:  $(am__configure_deps)

Once the macros are expanded, this becomes:

  ../configure: ../foobar.m4 ../configure.ac ../aclocal.m4

GNN make sees that `../foobar.m4' does not exists in the current
directory; but since a VPATH build is being performed, make does not
error out, but rather looks for that file in the $(srcdir) directory
too.  Now, in our case `$(srcdir)' is `..', so make looks for the
file `../../foobar.m4' -- which do exists!  In fact, the first `..'
brings us in the `foo-1.0' directory, the second one in the original
test directory -- where our original, empty `foobar.m4' resides.

If this is true, nesting the build directory one level more should
solve the problem -- and it does:

  $ cd ..
  $ mkdir -p build2/sub
  $ cd build2/sub
  $ ../../configure
  checking for a BSD-compatible install... /usr/bin/install -c
  checking whether build environment is sane... yes
  ...
  config.status: creating Makefile
  $ make
  echo ': foobar was here :' > ../../foobar.m4
  CDPATH="${ZSH_VERSION+.}:" && cd ../.. && /bin/sh /tmp/bug/foo-1.0/missing --run aclocal-1.11 
   cd ../.. && /bin/sh /tmp/bug/foo-1.0/missing --run automake-1.11 --foreign
  CDPATH="${ZSH_VERSION+.}:" && cd ../.. && /bin/sh /tmp/bug/foo-1.0/missing --run autoconf
  /bin/sh ./config.status --recheck
  running CONFIG_SHELL=/bin/sh /bin/sh ../../configure --no-create --no-recursion
  checking for a BSD-compatible install... /usr/bin/install -c
  ...
  configure: creating ./config.status
   /bin/sh ./config.status
  config.status: creating Makefile
  make: Nothing to be done for `all'.

Attached are two test scripts that expose the bug for the related but
slightly different cases of an `.m4' file included by `configure.ac'
and an `.am' file included by `Makefile.am'.  I will soonish add them
to the maint branch if there is no objection.

Regards,
  Stefano

--Boundary-00=_YI/yOgBDAnw5EVA
Content-Type: application/x-shellscript;
  name="foo1.test"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
	filename="foo1.test"

#! /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/>.

# Check that our remake rules doesn't give spurious successes in
# some corner case situations where they should actually fail.
# See automake bug#XXX.
# To be clear, we are speaking about *very* corner-case situations here,
# and the fact that the remake rules might get confused in them is not a
# big deal in practice (in fact, this test *currently fails*).  Still,
# keeping the limitation exposed is a good idea anyway.

. ./defs || Exit 1

set -e

cat >> configure.in <<'END'
m4_include([foobar.m4])
AC_OUTPUT
END

: > foobar.m4

cat > Makefile.am <<'END'
$(srcdir)/foobar.m4:
	echo ': foobar was here :' > $@
END

$ACLOCAL
$AUTOCONF
$AUTOMAKE

./configure

# OK, so the developer wants to interactively try out how the
# "distributed form" of his package behaves.
$MAKE distdir
cd $distdir
# He's interested in trying out a VPATH build.
mkdir build
cd build
../configure
# He wants to verify that the rules he's written to rebuild a file
# included by configure.in works also in VPATH builds.
rm -f ../foobar.m4
$MAKE
grep ': foobar was here :' ../configure
$MAKE distcheck

:

--Boundary-00=_YI/yOgBDAnw5EVA
Content-Type: application/x-shellscript;
  name="foo2.test"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
	filename="foo2.test"

#! /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/>.

# Check that our remake rules doesn't give spurious successes in
# some corner case situations where they should actually fail.
# See automake bug#XXX.
# To be clear, we are speaking about *very* corner-case situations here,
# and the fact that the remake rules might get confused in them is not a
# big deal in practice (in fact, this test *currently fails*).  Still,
# keeping the limitation exposed is a good idea anyway.

. ./defs || Exit 1

set -e

cat >> configure.in <<'END'
AC_OUTPUT
END

: > foobar.am

cat > Makefile.am <<'END'
include $(srcdir)/foobar.am
$(srcdir)/foobar.am:
## Creative quoring to avoid spurious matches in the grepping
## of Makefile.in, later.
	echo '#' 'foobar' 'was 'here' '#' > $@
END

$ACLOCAL
$AUTOCONF
$AUTOMAKE

./configure

# OK, so the developer wants to interactively try out how the
# "distributed form" of his package behaves.
$MAKE distdir
cd $distdir
# He's interested in trying out a VPATH build.
mkdir build
cd build
../configure
# He wants to verify that the rules he's written to rebuild a file
# included by configure.in works also in VPATH builds.
rm -f ../foobar.am
$MAKE
grep '# foobar was here #' ../Makefile.in
$MAKE distcheck

:

--Boundary-00=_YI/yOgBDAnw5EVA--




Acknowledgement sent to Stefano Lattarini <stefano.lattarini@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-automake@HIDDEN. Full text available.
Report forwarded to bug-automake@HIDDEN:
bug#10111; Package automake. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

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