From unknown Sat Jun 21 10:23:10 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#9579 <9579@debbugs.gnu.org> To: bug#9579 <9579@debbugs.gnu.org> Subject: Status: distcheck does not detect incomplete uninstall as advertised Reply-To: bug#9579 <9579@debbugs.gnu.org> Date: Sat, 21 Jun 2025 17:23:10 +0000 retitle 9579 distcheck does not detect incomplete uninstall as advertised reassign 9579 automake submitter 9579 Nick Bowler severity 9579 normal tag 9579 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 22 16:49:20 2011 Received: (at submit) by debbugs.gnu.org; 22 Sep 2011 20:49:21 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R6qCu-0004CO-4e for submit@debbugs.gnu.org; Thu, 22 Sep 2011 16:49:20 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R6qCo-0004CD-7n for submit@debbugs.gnu.org; Thu, 22 Sep 2011 16:49:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R6qCQ-0006L6-Oi for submit@debbugs.gnu.org; Thu, 22 Sep 2011 16:48:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD, URIBL_BLACK autolearn=no version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:53192) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6qCQ-0006L2-NH for submit@debbugs.gnu.org; Thu, 22 Sep 2011 16:48:50 -0400 Received: from eggs.gnu.org ([140.186.70.92]:50797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6qCP-0003JB-Jc for bug-automake@gnu.org; Thu, 22 Sep 2011 16:48:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R6qCO-0006Kq-9Y for bug-automake@gnu.org; Thu, 22 Sep 2011 16:48:49 -0400 Received: from mail.elliptictech.com ([209.217.122.41]:41859 helo=mail.ellipticsemi.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6qCO-0006Kk-36 for bug-automake@gnu.org; Thu, 22 Sep 2011 16:48:48 -0400 Received: from nbowler by mail.ellipticsemi.com with local (Exim 4.76) (envelope-from ) id 1R6qCM-0001O4-CF for bug-automake@gnu.org; Thu, 22 Sep 2011 16:48:46 -0400 Date: Thu, 22 Sep 2011 16:48:46 -0400 From: Nick Bowler To: bug-automake@gnu.org Subject: distcheck does not detect incomplete uninstall as advertised Message-ID: <20110922204846.GA31510@elliptictech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Organization: Elliptic Technologies Inc. User-Agent: Mutt/1.5.21 (2010-09-15) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -4.6 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.6 (----) Hello, In the Automake manual, §14.4 "Checking the Distribution" https://www.gnu.org/software/automake/manual/automake.html#Checking-the-Distribution claims that make distcheck will verify that make uninstall works correctly. The relevant text is quoted here: > distcheck also checks that the uninstall rule works properly, both for > ordinary and DESTDIR builds. It does this by invoking ‘make uninstall’, > and then it checks the install tree to see if any files are left over. > This check will make sure that you correctly coded your > uninstall-related rules. However, this does not seem to be the case. I realized that I had completely forgotten to write an uninstall-local rule to go with my install-data-local rule, yet distcheck remained completely silent on the matter. I'm using autoconf-2.68 and automake-1.11.1. The issue also occurs with latest automake git at the time of writing. Here's an example: % cat >Makefile.am <<'EOF' dist_data_DATA = foo EXTRA_DIST = bar install-data-local: $(MKDIR_P) '$(DESTDIR)$(datadir)' cp '$(srcdir)/bar' '$(DESTDIR)$(datadir)/bar' EOF % cat >configure.ac <<'EOF' AC_INIT([test], [1.0]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT EOF % cat >foo <<'EOF' foo EOF % cat >bar <<'EOF' bar EOF A quick test reveals that the uninstall target of my Makefile is definitely broken: % ./configure --prefix=$PWD/inst % make install % find inst -type f inst/share/foo inst/share/bar % make uninstall % find inst -type f inst/share/bar As expected, "bar" is erroneously left in the install tree. However, when we go to run make distcheck: % make distcheck [...] ========================================== test-1.0 archives ready for distribution: test-1.0.tar.gz ========================================== Based on the quoted paragraph in the manual, I had expected distcheck to fail. Cheers, -- Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/) From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 23 10:02:56 2011 Received: (at 9579) by debbugs.gnu.org; 23 Sep 2011 14:02:56 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R76L9-0005vE-OB for submit@debbugs.gnu.org; Fri, 23 Sep 2011 10:02:56 -0400 Received: from mail-wy0-f172.google.com ([74.125.82.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R76L5-0005v3-Tj for 9579@debbugs.gnu.org; Fri, 23 Sep 2011 10:02:53 -0400 Received: by wyh21 with SMTP id 21so1656250wyh.3 for <9579@debbugs.gnu.org>; Fri, 23 Sep 2011 07:02:24 -0700 (PDT) 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:content-transfer-encoding:message-id; bh=JvaKwg9E2eeMd6cy+/RTjDkMt0C4zpA7oh/JQ62COa4=; b=fdVQEVGeNdjj64Y5pwgw6TcY+Npx6RcUNP8lFslMy8eJuLNdszpWUTtaHn5rVlf35w XoVfEkLp28Wqbm1GuGW9No6k0NaPrt5VHV6jP0qcrXRg1Va5cI5JATJiC5vsrMdXXCSE ptUSeZL3ZVBbxA8U8I+s0pfhabJR3oW3l9j30= Received: by 10.227.55.5 with SMTP id s5mr3632552wbg.92.1316786544563; Fri, 23 Sep 2011 07:02:24 -0700 (PDT) Received: from bigio.localnet (host229-103-dynamic.0-87-r.retail.telecomitalia.it. [87.0.103.229]) by mx.google.com with ESMTPS id f26sm16610566wbp.7.2011.09.23.07.02.19 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 23 Sep 2011 07:02:20 -0700 (PDT) From: Stefano Lattarini To: bug-automake@gnu.org Subject: Re: bug#9579: distcheck does not detect incomplete uninstall as advertised Date: Fri, 23 Sep 2011 16:02:11 +0200 User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) References: <20110922204846.GA31510@elliptictech.com> In-Reply-To: <20110922204846.GA31510@elliptictech.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201109231602.12063.stefano.lattarini@gmail.com> X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 9579 Cc: 9579@debbugs.gnu.org, Nick Bowler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) Hi Nick, thanks for the report. On Thursday 22 September 2011, Nick Bowler wrote: > Hello, >=20 > In the Automake manual, =C2=A714.4 "Checking the Distribution" >=20 > https://www.gnu.org/software/automake/manual/automake.html#Checking-the= =2DDistribution >=20 > claims that make distcheck will verify that make uninstall works > correctly.=20 > > [SNIP] > > However, this does not seem to always be the case. > > [SNIP] > I've manged to reproduce this, and I confirm it's a bug. I'll take a look soonish. Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 23 15:47:52 2011 Received: (at submit) by debbugs.gnu.org; 23 Sep 2011 19:47:52 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7Bix-00069V-8x for submit@debbugs.gnu.org; Fri, 23 Sep 2011 15:47:52 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7Biu-00069L-5h for submit@debbugs.gnu.org; Fri, 23 Sep 2011 15:47:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R7BiQ-0002Np-N7 for submit@debbugs.gnu.org; Fri, 23 Sep 2011 15:47:20 -0400 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, T_TO_NO_BRKTS_FREEMAIL autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:44516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R7BiQ-0002Nj-LY for submit@debbugs.gnu.org; Fri, 23 Sep 2011 15:47:18 -0400 Received: from eggs.gnu.org ([140.186.70.92]:55260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R7BiO-0002Ih-Sr for bug-automake@gnu.org; Fri, 23 Sep 2011 15:47:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R7BiM-0002NA-Jz for bug-automake@gnu.org; Fri, 23 Sep 2011 15:47:16 -0400 Received: from mail-fx0-f41.google.com ([209.85.161.41]:62593) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R7BiM-0002N0-9p; Fri, 23 Sep 2011 15:47:14 -0400 Received: by fxh17 with SMTP id 17so4719972fxh.0 for ; Fri, 23 Sep 2011 12:47:12 -0700 (PDT) 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=6ZnxcUoHga+7DcOgqHepPOD+48++XpHnEzUDu7LKAK8=; b=ajJwifYgyqrVWidjzFL0/WtBHXEFIna5ew7i4INxzXwlEGWWkRJ9V9rZdM0rd/BUxE MeVtC8skyi8T9yNfq6TwRH+O5BgS6Z+nbPoRx3ViQjapuPmfhPxIR4AQ06AWhIkB+lwV QAWDHRbpXtKOEdSH/u5s381brMLheEmOyAW1A= Received: by 10.223.43.211 with SMTP id x19mr5543269fae.142.1316807232829; Fri, 23 Sep 2011 12:47:12 -0700 (PDT) Received: from bigio.localnet (host52-101-dynamic.54-82-r.retail.telecomitalia.it. [82.54.101.52]) by mx.google.com with ESMTPS id o22sm12135522fab.11.2011.09.23.12.47.07 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 23 Sep 2011 12:47:08 -0700 (PDT) From: Stefano Lattarini To: bug-automake@gnu.org Subject: Re: bug#9579: distcheck does not detect incomplete uninstall as advertised Date: Fri, 23 Sep 2011 21:46:57 +0200 User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) References: <20110922204846.GA31510@elliptictech.com> <201109231602.12063.stefano.lattarini@gmail.com> In-Reply-To: <201109231602.12063.stefano.lattarini@gmail.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_yIOfOdZcxgBCkHJ" Message-Id: <201109232146.58781.stefano.lattarini@gmail.com> 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.2 (-----) X-Debbugs-Envelope-To: submit Cc: 9579@debbugs.gnu.org, Nick Bowler , automake-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.2 (-----) --Boundary-00=_yIOfOdZcxgBCkHJ Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Friday 23 September 2011, Stefano Lattarini wrote: > Hi Nick, thanks for the report. >=20 > On Thursday 22 September 2011, Nick Bowler wrote: > > Hello, > >=20 > > In the Automake manual, =C2=A714.4 "Checking the Distribution" > >=20 > > https://www.gnu.org/software/automake/manual/automake.html#Checking-t= he-Distribution > >=20 > > claims that make distcheck will verify that make uninstall works > > correctly.=20 > > > > [SNIP] > > > > However, this does not seem to always be the case. > > > > [SNIP] > > > I've manged to reproduce this, and I confirm it's a bug. I'll take a > look soonish. > Apparently, it was a simple bug. Attached is the patch I'll push to maint in a couple of days to fix it. As usual, reviews welcome. Thanks, Stefano --Boundary-00=_yIOfOdZcxgBCkHJ Content-Type: text/x-patch; charset="utf-8"; name="0001-distuninstallcheck-fail-also-when-only-one-file-is-l.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="0001-distuninstallcheck-fail-also-when-only-one-file-is-l.patch" =46rom 26b2e20c1369e11f696cf6c92888603a36a7cecc Mon Sep 17 00:00:00 2001 Message-Id: <26b2e20c1369e11f696cf6c92888603a36a7cecc.1316807120.git.stefan= o.lattarini@gmail.com> =46rom: Stefano Lattarini Date: Fri, 23 Sep 2011 16:06:59 +0200 Subject: [PATCH] distuninstallcheck: fail also when only one file is left i= nstalled This change fixes automake bug#9579. * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring a potential `dir' file created by install-info and left installed. Also, be more careful about "this can't happen" kind of errors. (am__distuninstallcheck_listfiles): New internal helper macro. * tests/distcheck-pr9579.test: New test. * tests/Makefile.am (TESTS): Add it. * NEWS, THANKS: Update. Report by Nick Bowler. =2D-- ChangeLog | 13 +++++++++ Makefile.in | 11 +++++-- NEWS | 3 ++ THANKS | 1 + lib/am/distdir.am | 21 +++++++++++--- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/distcheck-pr9579.test | 64 +++++++++++++++++++++++++++++++++++++++= ++++ 8 files changed, 107 insertions(+), 8 deletions(-) create mode 100755 tests/distcheck-pr9579.test diff --git a/ChangeLog b/ChangeLog index 47aee92..2ba979c 100644 =2D-- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2011-09-23 Stefano Lattarini + + distuninstallcheck: fail also when only one file is left installed + This change fixes automake bug#9579. + * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring + a potential `dir' file created by install-info and left installed. + Also, be more careful about "this can't happen" kind of errors. + (am__distuninstallcheck_listfiles): New internal helper macro. + * tests/distcheck-pr9579.test: New test. + * tests/Makefile.am (TESTS): Add it. + * NEWS, THANKS: Update. + Report by Nick Bowler. + 2011-09-22 Stefano Lattarini =20 tests: fix tests on aclocal search path precedences diff --git a/Makefile.in b/Makefile.in index 35a9cbd..f32c50c 100644 =2D-- a/Makefile.in +++ b/Makefile.in @@ -145,6 +145,8 @@ am__relativize =3D \ DIST_ARCHIVES =3D $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV =3D --best distuninstallcheck_listfiles =3D find . -type f -print +am__distuninstallcheck_listfiles =3D $(distuninstallcheck_listfiles) \ + | grep -v '/share/info/dir$$' distcleancheck_listfiles =3D find . -type f -print ACLOCAL =3D @ACLOCAL@ AMTAR =3D @AMTAR@ @@ -753,13 +755,16 @@ distcheck: dist list=3D'$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=3D/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: =2D @$(am__cd) '$(distuninstallcheck_dir)' \ =2D && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @$(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ =2D $(distuninstallcheck_listfiles) ; \ + $(am__distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' =3D . ; then \ diff --git a/NEWS b/NEWS index b696977..df8fb5a 100644 =2D-- a/NEWS +++ b/NEWS @@ -61,6 +61,9 @@ Bugs fixed in 1.11.0a: =20 * Long standing bugs: =20 + - "make distcheck" now correctly complains also when "make uninstall" + leaves one and only one file installed in $(prefix). + - Automake now warns about more primary/directory invalid combinations, such as "doc_LIBRARIES" or "pkglib_PROGRAMS". =20 diff --git a/THANKS b/THANKS index f83e1fc..b840088 100644 =2D-- a/THANKS +++ b/THANKS @@ -244,6 +244,7 @@ Motoyuki Kasahara m-kasahr@sra.co.jp Nathanael Nerode neroden@twcny.rr.com Nelson H. F. Beebe beebe@math.utah.edu Nicholas Wourms nwourms@netscape.net +Nick Bowler nbowler@elliptictech.com Nicolas Joly njoly@pasteur.fr Nicolas Thiery nthiery@Icare.mines.edu NightStrike nightstrike@gmail.com diff --git a/lib/am/distdir.am b/lib/am/distdir.am index c2dd7c5..d551267 100644 =2D-- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -516,16 +516,27 @@ distcheck: dist ## from distcheck, so that they can be overridden by the user. .PHONY: distuninstallcheck distuninstallcheck_listfiles =3D find . -type f -print +## The `dir' file (created by install-info) might still exist after +## uninstall, so we must be prepared to account for it. The following +## check assumes that the package author hasn't changed ${infodir} nor +## ${datarootdir} in strange ways; if he has done so, then he should be +## prepared to define a custom $(distuninstallcheck_listfiles) as well. +## Also, this check is slighlty laxer than we'd like, but obtaining a +## 100% precision would be too tricky to be really worth, so we declare +## this good enough. +am__distuninstallcheck_listfiles =3D $(distuninstallcheck_listfiles) \ + | grep -v '/share/info/dir$$' distuninstallcheck: =2D## We use -le 1 because the `dir' file (created by install-info) =2D## might still exist after uninstall. =2D @$(am__cd) '$(distuninstallcheck_dir)' \ =2D && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @$(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ =2D $(distuninstallcheck_listfiles) ; \ + $(am__distuninstallcheck_listfiles) ; \ exit 1; } >&2 =20 ## Define distcleancheck_listfiles and distcleancheck separately diff --git a/tests/Makefile.am b/tests/Makefile.am index 1d258c9..85f62f2 100644 =2D-- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -335,6 +335,7 @@ distcheck-hook.test \ distcheck-hook2.test \ distcheck-missing-m4.test \ distcheck-outdated-m4.test \ +distcheck-pr9579.test \ dmalloc.test \ doc-parsing-buglets-colneq-subst.test \ doc-parsing-buglets-tabs.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 7e9bc20..4e482b6 100644 =2D-- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -613,6 +613,7 @@ distcheck-hook.test \ distcheck-hook2.test \ distcheck-missing-m4.test \ distcheck-outdated-m4.test \ +distcheck-pr9579.test \ dmalloc.test \ doc-parsing-buglets-colneq-subst.test \ doc-parsing-buglets-tabs.test \ diff --git a/tests/distcheck-pr9579.test b/tests/distcheck-pr9579.test new file mode 100755 index 0000000..b443b68 =2D-- /dev/null +++ b/tests/distcheck-pr9579.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 . + +# Check against automake bug#9579: distcheck does not always detect +# incomplete uninstall as advertised. + +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AC_OUTPUT +END + +# NOTE: the use of `dir' as the name of the data file installed by hand +# is deliberate, and enhances coverage -- see definition and comments of +# lib/am/distdir.am:$(am__distuninstallcheck_listfiles). + +cat > Makefile.am << 'END' +dist_data_DATA =3D foo +EXTRA_DIST =3D dir +install-data-local: + $(MKDIR_P) '$(DESTDIR)$(datadir)' + cp '$(srcdir)/dir' '$(DESTDIR)$(datadir)/dir' +END + +: > foo +: > dir + +$ACLOCAL +$AUTOMAKE +$AUTOCONF + +./configure --prefix=3D"`pwd`/inst" + +# Sanity checks. +$MAKE install +find inst -type f +test -f inst/share/foo +test -f inst/share/dir +# We expect the uninstall target of our Makefile to be definitely broken. +$MAKE uninstall +test -f inst/share/dir + +$MAKE distcheck >output 2>&1 && { cat output; Exit 1; } +cat output + +$FGREP 'ERROR: files left after uninstall:' output +grep '/share/dir *$' output + +: =2D-=20 1.7.2.3 --Boundary-00=_yIOfOdZcxgBCkHJ-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 23 16:18:46 2011 Received: (at 9579) by debbugs.gnu.org; 23 Sep 2011 20:18:46 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7CCs-0006rv-KP for submit@debbugs.gnu.org; Fri, 23 Sep 2011 16:18:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7CCp-0006rn-Hu for 9579@debbugs.gnu.org; Fri, 23 Sep 2011 16:18:45 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p8NKIEmY012686 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 23 Sep 2011 16:18:14 -0400 Received: from [10.3.113.83] (ovpn-113-83.phx2.redhat.com [10.3.113.83]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p8NKIDhN003363; Fri, 23 Sep 2011 16:18:14 -0400 Message-ID: <4E7CE985.2070600@redhat.com> Date: Fri, 23 Sep 2011 14:18:13 -0600 From: Eric Blake Organization: Red Hat User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20110713 Thunderbird/5.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#9579: distcheck does not detect incomplete uninstall as advertised References: <20110922204846.GA31510@elliptictech.com> <201109231602.12063.stefano.lattarini@gmail.com> <201109232146.58781.stefano.lattarini@gmail.com> In-Reply-To: <201109232146.58781.stefano.lattarini@gmail.com> X-Enigmail-Version: 1.2 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Spam-Score: -10.3 (----------) X-Debbugs-Envelope-To: 9579 Cc: 9579@debbugs.gnu.org, nbowler@elliptictech.com, automake-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -10.3 (----------) On 09/23/2011 01:46 PM, Stefano Lattarini wrote: > Apparently, it was a simple bug. Attached is the patch I'll push to maint > in a couple of days to fix it. As usual, reviews welcome. > > +++ b/lib/am/distdir.am > @@ -516,16 +516,27 @@ distcheck: dist > ## from distcheck, so that they can be overridden by the user. > .PHONY: distuninstallcheck > distuninstallcheck_listfiles = find . -type f -print > +## The `dir' file (created by install-info) might still exist after > +## uninstall, so we must be prepared to account for it. The following > +## check assumes that the package author hasn't changed ${infodir} nor > +## ${datarootdir} in strange ways; if he has done so, then he should be > +## prepared to define a custom $(distuninstallcheck_listfiles) as well. > +## Also, this check is slighlty laxer than we'd like, but obtaining a s/slighlty/slightly/ s/ a$// > +## 100% precision would be too tricky to be really worth, so we declare -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 24 09:37:17 2011 Received: (at 9579) by debbugs.gnu.org; 24 Sep 2011 13:37:17 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7SPs-0007Qr-QG for submit@debbugs.gnu.org; Sat, 24 Sep 2011 09:37:17 -0400 Received: from mail-ww0-f46.google.com ([74.125.82.46]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7SPp-0007Qi-S0 for 9579@debbugs.gnu.org; Sat, 24 Sep 2011 09:37:14 -0400 Received: by wwi18 with SMTP id 18so4588587wwi.15 for <9579@debbugs.gnu.org>; Sat, 24 Sep 2011 06:36:41 -0700 (PDT) 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:content-transfer-encoding:message-id; bh=XCvHW/u0VUTpf/K9vEkvZjxErEShpomvXaqJKfn6jiA=; b=OUavB++jJgPFI6wt2+sH5UdPbyPBdjz5EXpKsv0p5ypX67u91ATMYlSUi1Rcis2HbW naAuBe4kiW4wgc1qj2huSGh5Y5k1gfUYwui8T0ps9uDSlNrtvHodQVfVgH6hVD4duJuZ v317iTUfxvQxhG9l0Ck1JlZfwPMFPdWBs3QaA= Received: by 10.227.200.212 with SMTP id ex20mr1170620wbb.89.1316871401010; Sat, 24 Sep 2011 06:36:41 -0700 (PDT) Received: from bigio.localnet (host67-96-dynamic.4-87-r.retail.telecomitalia.it. [87.4.96.67]) by mx.google.com with ESMTPS id n21sm21270447wbp.2.2011.09.24.06.36.38 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 24 Sep 2011 06:36:40 -0700 (PDT) From: Stefano Lattarini To: Eric Blake Subject: Re: bug#9579: distcheck does not detect incomplete uninstall as advertised Date: Sat, 24 Sep 2011 15:36:23 +0200 User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) References: <20110922204846.GA31510@elliptictech.com> <201109232146.58781.stefano.lattarini@gmail.com> <4E7CE985.2070600@redhat.com> In-Reply-To: <4E7CE985.2070600@redhat.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201109241536.23835.stefano.lattarini@gmail.com> X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 9579 Cc: 9579@debbugs.gnu.org, nbowler@elliptictech.com, automake-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) Hi Eric, thanks for the quick review. On Friday 23 September 2011, Eric Blake wrote: > On 09/23/2011 01:46 PM, Stefano Lattarini wrote: > > Apparently, it was a simple bug. Attached is the patch I'll push to maint > > in a couple of days to fix it. As usual, reviews welcome. > > > > +++ b/lib/am/distdir.am > > @@ -516,16 +516,27 @@ distcheck: dist > > ## from distcheck, so that they can be overridden by the user. > > .PHONY: distuninstallcheck > > distuninstallcheck_listfiles = find . -type f -print > > +## The `dir' file (created by install-info) might still exist after > > +## uninstall, so we must be prepared to account for it. The following > > +## check assumes that the package author hasn't changed ${infodir} nor > > +## ${datarootdir} in strange ways; if he has done so, then he should be > > +## prepared to define a custom $(distuninstallcheck_listfiles) as well. > > +## Also, this check is slighlty laxer than we'd like, but obtaining a > > s/slighlty/slightly/ > > s/ a$// > Consider these fixed. I've also bumped the copyright years in `lib/am/distdir.am' (I had forgotten to do so in the previous version of the patch). I will push by tomorrow if there is no objection by then. Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 24 10:15:49 2011 Received: (at control) by debbugs.gnu.org; 24 Sep 2011 14:15:50 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7T1B-0008Rz-F6 for submit@debbugs.gnu.org; Sat, 24 Sep 2011 10:15:49 -0400 Received: from mail-wy0-f172.google.com ([74.125.82.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R7T19-0008Rs-MU for control@debbugs.gnu.org; Sat, 24 Sep 2011 10:15:48 -0400 Received: by wyh21 with SMTP id 21so2347645wyh.3 for ; Sat, 24 Sep 2011 07:15:14 -0700 (PDT) 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 :content-transfer-encoding:message-id; bh=V2qH/nJtQj/0pPNMP1Bshjm36EoSCdOK5pRZwskY/mk=; b=f3LuwaDafvub054SOvnDWiq7tvPG+q2emfcYR0vT0NyQyYGi0TpUWhVhp9v5RNhHFt GOdCV3qCcaxnC+EzjbcDu2ULkdTMv/IVn06FEYf1Z0YYMUs3/U6yhCg2hXVFlS4mfjmd NIMJbiAxYnFGZzRm9zqMrHb2pwgHoK6Ws5dEs= Received: by 10.227.24.136 with SMTP id v8mr3435877wbb.28.1316873714838; Sat, 24 Sep 2011 07:15:14 -0700 (PDT) Received: from bigio.localnet (host67-96-dynamic.4-87-r.retail.telecomitalia.it. [87.4.96.67]) by mx.google.com with ESMTPS id y10sm21385466wbm.14.2011.09.24.07.15.12 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 24 Sep 2011 07:15:13 -0700 (PDT) From: Stefano Lattarini To: control@debbugs.gnu.org Subject: tags Date: Sat, 24 Sep 2011 16:14:53 +0200 User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201109241614.53472.stefano.lattarini@gmail.com> X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) tags 9579 + patch tags 9578 + patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 26 15:07:58 2011 Received: (at submit) by debbugs.gnu.org; 26 Sep 2011 19:07:58 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R8GWz-0004vN-TF for submit@debbugs.gnu.org; Mon, 26 Sep 2011 15:07:58 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R8GWp-0004uy-Qa for submit@debbugs.gnu.org; Mon, 26 Sep 2011 15:07:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R8GW5-0003gz-JT for submit@debbugs.gnu.org; Mon, 26 Sep 2011 15:07:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:38171) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R8GW5-0003gs-Hx for submit@debbugs.gnu.org; Mon, 26 Sep 2011 15:07:01 -0400 Received: from eggs.gnu.org ([140.186.70.92]:46250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R8GW4-00047g-Id for bug-automake@gnu.org; Mon, 26 Sep 2011 15:07:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R8GW3-0003gY-EE for bug-automake@gnu.org; Mon, 26 Sep 2011 15:07:00 -0400 Received: from mail.elliptictech.com ([209.217.122.41]:45500 helo=mail.ellipticsemi.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R8GW3-0003gO-AN; Mon, 26 Sep 2011 15:06:59 -0400 Received: from nbowler by mail.ellipticsemi.com with local (Exim 4.76) (envelope-from ) id 1R8GVr-0006sj-FG; Mon, 26 Sep 2011 15:06:47 -0400 Date: Mon, 26 Sep 2011 15:06:47 -0400 From: Nick Bowler To: Stefano Lattarini Subject: Re: bug#9579: distcheck does not detect incomplete uninstall as advertised Message-ID: <20110926190647.GA327@elliptictech.com> References: <20110922204846.GA31510@elliptictech.com> <201109231602.12063.stefano.lattarini@gmail.com> <201109232146.58781.stefano.lattarini@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201109232146.58781.stefano.lattarini@gmail.com> Organization: Elliptic Technologies Inc. User-Agent: Mutt/1.5.21 (2010-09-15) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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.4 (-----) X-Debbugs-Envelope-To: submit Cc: 9579@debbugs.gnu.org, bug-automake@gnu.org, automake-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.5 (-----) Hi Stefano, On 2011-09-23 21:46 +0200, Stefano Lattarini wrote: > Apparently, it was a simple bug. Attached is the patch I'll push to maint > in a couple of days to fix it. As usual, reviews welcome. > > Thanks, > Stefano > From 26b2e20c1369e11f696cf6c92888603a36a7cecc Mon Sep 17 00:00:00 2001 > Message-Id: <26b2e20c1369e11f696cf6c92888603a36a7cecc.1316807120.git.stefano.lattarini@gmail.com> > From: Stefano Lattarini > Date: Fri, 23 Sep 2011 16:06:59 +0200 > Subject: [PATCH] distuninstallcheck: fail also when only one file is left installed I've tested this on my project, and now distcheck fails when I revert my uninstall-local rule. It's perhaps a bit unfortunate that make infodir='${prefix}/somewhere_else' distcheck no longer works, but I agree that it seems non-trivial to make that work properly. Thanks, -- Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/) From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 04:29:24 2011 Received: (at submit) by debbugs.gnu.org; 27 Sep 2011 08:29:24 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R8T2Y-0007xX-Kj for submit@debbugs.gnu.org; Tue, 27 Sep 2011 04:29:24 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1R8T2V-0007xQ-VM for submit@debbugs.gnu.org; Tue, 27 Sep 2011 04:29:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R8T1h-0006AP-8e for submit@debbugs.gnu.org; Tue, 27 Sep 2011 04:28:31 -0400 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]:35130) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R8T1h-0006AG-5f for submit@debbugs.gnu.org; Tue, 27 Sep 2011 04:28:29 -0400 Received: from eggs.gnu.org ([140.186.70.92]:60694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R8T1b-00015G-Q2 for bug-automake@gnu.org; Tue, 27 Sep 2011 04:28:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R8T1X-000690-Bl for bug-automake@gnu.org; Tue, 27 Sep 2011 04:28:23 -0400 Received: from mail-qy0-f176.google.com ([209.85.216.176]:57252) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R8T1X-00068n-1z; Tue, 27 Sep 2011 04:28:19 -0400 Received: by qyk27 with SMTP id 27so7750758qyk.0 for ; Tue, 27 Sep 2011 01:28:18 -0700 (PDT) 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=TU/MlacpFd+4vjh9ftknTsDTyaLHqr+kkaipzYdWL+c=; b=dhLgOI8LPNJGSLoMpbzdN7GGan1HQySjWKihYNakHlTjio7k24OnRlqjZ9VU4KV9/u JXqboSoiVd1jLZUeZBptE4BuanGKmvbdXC8GnM2q7o57rvofmSyYTu1z+IJdAbiS6WBy Hn7FgWjhqN0w7G0CpJGZDQGYJTrLeDSrEBQyw= Received: by 10.229.226.20 with SMTP id iu20mr5823646qcb.134.1317112098323; Tue, 27 Sep 2011 01:28:18 -0700 (PDT) Received: from bigio.localnet (host244-103-dynamic.2-87-r.retail.telecomitalia.it. [87.2.103.244]) by mx.google.com with ESMTPS id he10sm16824580qab.25.2011.09.27.01.28.12 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 27 Sep 2011 01:28:14 -0700 (PDT) From: Stefano Lattarini To: Nick Bowler Subject: Re: bug#9579: distcheck does not detect incomplete uninstall as advertised Date: Tue, 27 Sep 2011 10:28:03 +0200 User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) References: <20110922204846.GA31510@elliptictech.com> <201109232146.58781.stefano.lattarini@gmail.com> <20110926190647.GA327@elliptictech.com> In-Reply-To: <20110926190647.GA327@elliptictech.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_TkYgOc8bTPJ6nHl" Message-Id: <201109271028.03801.stefano.lattarini@gmail.com> 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: 9579@debbugs.gnu.org, bug-automake@gnu.org, automake-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.1 (-----) --Boundary-00=_TkYgOc8bTPJ6nHl Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Monday 26 September 2011, Nick Bowler wrote: > Hi Stefano, > > On 2011-09-23 21:46 +0200, Stefano Lattarini wrote: > > Apparently, it was a simple bug. Attached is the patch I'll push to maint > > in a couple of days to fix it. As usual, reviews welcome. > > > > Thanks, > > Stefano > > > From: Stefano Lattarini > > Date: Fri, 23 Sep 2011 16:06:59 +0200 > > Subject: [PATCH] distuninstallcheck: fail also when only one file is left installed > > I've tested this on my project, and now distcheck fails when I revert my > uninstall-local rule. It's perhaps a bit unfortunate that > > make infodir='${prefix}/somewhere_else' distcheck > > no longer works, but I agree that it seems non-trivial to make that > work properly. > Well, I don't agree anymore on this ;-) -- by complicating my patch just a little bit, we can apparently cater for this situation as well. See the attached squash-in (I've also attached the updated patch, for reference). So I'll give a couple of days for further comments, than I'll push this improved patch instead of the previous one. Thanks, Stefano --Boundary-00=_TkYgOc8bTPJ6nHl Content-Type: text/x-patch; charset="utf-8"; name="0001-distuninstallcheck-fail-also-when-only-one-file-is-l.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="0001-distuninstallcheck-fail-also-when-only-one-file-is-l.patch" =46rom 71bae85a00a5de739267876d6351ddb664cb6658 Mon Sep 17 00:00:00 2001 Message-Id: <71bae85a00a5de739267876d6351ddb664cb6658.1317111869.git.stefan= o.lattarini@gmail.com> =46rom: Stefano Lattarini Date: Fri, 23 Sep 2011 16:06:59 +0200 Subject: [PATCH] distuninstallcheck: fail also when only one file is left i= nstalled This change fixes automake bug#9579. * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring a potential `dir' file created by install-info and left installed. Also, be more careful about "this can't happen" kind of errors. (am__distuninstallcheck_listfiles): New internal helper macro. * tests/distcheck-pr9579.test: New test. * tests/distcheck-override-infodir.test: Likewise. * tests/Makefile.am (TESTS): Add them. * NEWS, THANKS: Update. Report by Nick Bowler. =2D-- ChangeLog | 14 +++++ Makefile.in | 14 ++++- NEWS | 3 + THANKS | 1 + lib/am/distdir.am | 22 ++++++-- tests/Makefile.am | 2 + tests/Makefile.in | 2 + tests/distcheck-override-infodir.test | 63 +++++++++++++++++++++ tests/distcheck-pr9579.test | 98 +++++++++++++++++++++++++++++= ++++ 9 files changed, 212 insertions(+), 7 deletions(-) create mode 100755 tests/distcheck-override-infodir.test create mode 100755 tests/distcheck-pr9579.test diff --git a/ChangeLog b/ChangeLog index 47aee92..875245f 100644 =2D-- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2011-09-26 Stefano Lattarini + + distuninstallcheck: fail also when only one file is left installed + This change fixes automake bug#9579. + * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring + a potential `dir' file created by install-info and left installed. + Also, be more careful about "this can't happen" kind of errors. + (am__distuninstallcheck_listfiles): New internal helper macro. + * tests/distcheck-pr9579.test: New test. + * tests/distcheck-override-infodir.test: Likewise. + * tests/Makefile.am (TESTS): Add them. + * NEWS, THANKS: Update. + Report by Nick Bowler. + 2011-09-22 Stefano Lattarini =20 tests: fix tests on aclocal search path precedences diff --git a/Makefile.in b/Makefile.in index 35a9cbd..a08e567 100644 =2D-- a/Makefile.in +++ b/Makefile.in @@ -145,6 +145,8 @@ am__relativize =3D \ DIST_ARCHIVES =3D $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV =3D --best distuninstallcheck_listfiles =3D find . -type f -print +am__distuninstallcheck_listfiles =3D $(distuninstallcheck_listfiles) \ + | sed 's|^\./|${prefix}/|' | grep -v '${infodir}/dir$$' distcleancheck_listfiles =3D find . -type f -print ACLOCAL =3D @ACLOCAL@ AMTAR =3D @AMTAR@ @@ -753,8 +755,16 @@ distcheck: dist list=3D'$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=3D/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: =2D @$(am__cd) '$(distuninstallcheck_dir)' \ =2D && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with and empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ diff --git a/NEWS b/NEWS index b696977..df8fb5a 100644 =2D-- a/NEWS +++ b/NEWS @@ -61,6 +61,9 @@ Bugs fixed in 1.11.0a: =20 * Long standing bugs: =20 + - "make distcheck" now correctly complains also when "make uninstall" + leaves one and only one file installed in $(prefix). + - Automake now warns about more primary/directory invalid combinations, such as "doc_LIBRARIES" or "pkglib_PROGRAMS". =20 diff --git a/THANKS b/THANKS index f83e1fc..b840088 100644 =2D-- a/THANKS +++ b/THANKS @@ -244,6 +244,7 @@ Motoyuki Kasahara m-kasahr@sra.co.jp Nathanael Nerode neroden@twcny.rr.com Nelson H. F. Beebe beebe@math.utah.edu Nicholas Wourms nwourms@netscape.net +Nick Bowler nbowler@elliptictech.com Nicolas Joly njoly@pasteur.fr Nicolas Thiery nthiery@Icare.mines.edu NightStrike nightstrike@gmail.com diff --git a/lib/am/distdir.am b/lib/am/distdir.am index c2dd7c5..d3b34e1 100644 =2D-- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -1,6 +1,6 @@ ## automake - create Makefile.in from Makefile.am ## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, =2D## 2010 Free Software Foundation, Inc. +## 2010, 2011 Free Software Foundation, Inc. =20 ## 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 @@ -516,11 +516,23 @@ distcheck: dist ## from distcheck, so that they can be overridden by the user. .PHONY: distuninstallcheck distuninstallcheck_listfiles =3D find . -type f -print +## The `dir' file (created by install-info) might still exist after +## uninstall, so we must be prepared to account for it. The following +## check is not 100% strict, but is definitely good enough, and even +## accounts for overridden ${infodir}. +am__distuninstallcheck_listfiles =3D $(distuninstallcheck_listfiles) \ + | sed 's|^\./|${prefix}/|' | grep -v '${infodir}/dir$$' distuninstallcheck: =2D## We use -le 1 because the `dir' file (created by install-info) =2D## might still exist after uninstall. =2D @$(am__cd) '$(distuninstallcheck_dir)' \ =2D && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with and empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ diff --git a/tests/Makefile.am b/tests/Makefile.am index 1d258c9..5791588 100644 =2D-- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -335,6 +335,8 @@ distcheck-hook.test \ distcheck-hook2.test \ distcheck-missing-m4.test \ distcheck-outdated-m4.test \ +distcheck-pr9579.test \ +distcheck-override-infodir.test \ dmalloc.test \ doc-parsing-buglets-colneq-subst.test \ doc-parsing-buglets-tabs.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 7e9bc20..1e1cb79 100644 =2D-- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -613,6 +613,8 @@ distcheck-hook.test \ distcheck-hook2.test \ distcheck-missing-m4.test \ distcheck-outdated-m4.test \ +distcheck-pr9579.test \ +distcheck-override-infodir.test \ dmalloc.test \ doc-parsing-buglets-colneq-subst.test \ doc-parsing-buglets-tabs.test \ diff --git a/tests/distcheck-override-infodir.test b/tests/distcheck-overri= de-infodir.test new file mode 100755 index 0000000..8c54cfb =2D-- /dev/null +++ b/tests/distcheck-override-infodir.test @@ -0,0 +1,63 @@ +#! /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 . + +# Check that we can override ${infodir} while having distcheck still +# working. Relate to automake bug#9579. + +required=3D'makeinfo tex texi2dvi' +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AC_OUTPUT +END + +cat > Makefile.am << 'END' +infodir =3D ${prefix}/blah/blah/foobar +info_TEXINFOS =3D main.texi +## Sanity check. +installcheck-local: + if test x$${infodir+set} !=3D xset; then \ + ls -l "$(DESTDIR)/$(prefix)/blah/blah/foobar/" || exit 1; \ + test -f "$(DESTDIR)/$(prefix)/blah/blah/foobar/dir" || exit 1; \ + else \ + ls -l "$(DESTDIR)/$$infodir/" || exit 1; \ + test -f "$(DESTDIR)/$$infodir/dir" || exit 1; \ + fi +END + +cat > main.texi << 'END' +\input texinfo +@setfilename main.info +@settitle main +@node Top +Hello walls. +@bye +END + +$ACLOCAL +$AUTOMAKE -a +$AUTOCONF + +./configure +$MAKE + +$MAKE distcheck +infodir=3D"`pwd`"/_info $MAKE -e distcheck +test -f _info/dir || Exit 99 # Sanity check. + +: diff --git a/tests/distcheck-pr9579.test b/tests/distcheck-pr9579.test new file mode 100755 index 0000000..1d738ba =2D-- /dev/null +++ b/tests/distcheck-pr9579.test @@ -0,0 +1,98 @@ +#! /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 . + +# Check against automake bug#9579: distcheck does not always detect +# incomplete uninstall as advertised. + +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AC_OUTPUT +END + +# NOTE: the use of `dir' as the name of the data file installed by hand +# is deliberate, and enhances coverage -- see definition and comments of +# lib/am/distdir.am:$(am__distuninstallcheck_listfiles). + +cat > Makefile.am << 'END' +dist_data_DATA =3D foo +EXTRA_DIST =3D dir +install-data-local: + $(MKDIR_P) '$(DESTDIR)$(datadir)' + cp '$(srcdir)/dir' '$(DESTDIR)$(datadir)/dir' +END + +: > foo +: > dir + +$ACLOCAL +$AUTOMAKE +$AUTOCONF + +./configure --prefix=3D"`pwd`/inst" + +# Sanity checks. +$MAKE install +find inst -type f +test -f inst/share/foo +test -f inst/share/dir +# We expect the uninstall target of our Makefile to be definitely broken. +$MAKE uninstall +test -f inst/share/dir +rm -rf inst + +$MAKE distcheck >output 2>&1 && { cat output; Exit 1; } +cat output + +$FGREP 'ERROR: files left after uninstall:' output +grep '/share/dir *$' output + +# More trickier corner cases. + +cat > Makefile.am << 'END' +EXTRA_DIST =3D dir +install-data-local: +install-data-local: + $(MKDIR_P) '$(DESTDIR)$(prefix)/mu/share/info' + cp '$(srcdir)/dir' '$(DESTDIR)$(prefix)/mu/share/info' + $(MKDIR_P) '$(DESTDIR)$(infodir)/more' + cp '$(srcdir)/dir' '$(DESTDIR)$(infodir)/more' +END + +$AUTOMAKE +./config.status Makefile + +# Sanity checks, again. +$MAKE install +find inst -type f +test -f inst/mu/share/info/dir +test -f inst/share/info/more/dir +# We expect the uninstall target of our Makefile to be definitely broken. +$MAKE uninstall +test -f inst/mu/share/info/dir +test -f inst/share/info/more/dir +rm -rf inst + +$MAKE distcheck >output 2>&1 && { cat output; Exit 1; } +cat output + +$FGREP 'ERROR: files left after uninstall:' output +grep '/mu/share/info/dir *$' output +grep '/share/info/more/dir *$' output + +: =2D-=20 1.7.2.3 --Boundary-00=_TkYgOc8bTPJ6nHl Content-Type: text/x-patch; charset="utf-8"; name="squash-in.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="squash-in.diff" diff --git a/ChangeLog b/ChangeLog index 2ba979c..875245f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -2011-09-23 Stefano Lattarini +2011-09-26 Stefano Lattarini distuninstallcheck: fail also when only one file is left installed This change fixes automake bug#9579. @@ -7,7 +7,8 @@ Also, be more careful about "this can't happen" kind of errors. (am__distuninstallcheck_listfiles): New internal helper macro. * tests/distcheck-pr9579.test: New test. - * tests/Makefile.am (TESTS): Add it. + * tests/distcheck-override-infodir.test: Likewise. + * tests/Makefile.am (TESTS): Add them. * NEWS, THANKS: Update. Report by Nick Bowler. diff --git a/Makefile.in b/Makefile.in index f32c50c..a08e567 100644 --- a/Makefile.in +++ b/Makefile.in @@ -146,7 +146,7 @@ DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | grep -v '/share/info/dir$$' + | sed 's|^\./|${prefix}/|' | grep -v '${infodir}/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -755,7 +755,12 @@ distcheck: dist list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' || { \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with and empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ @@ -764,7 +769,7 @@ distuninstallcheck: if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ - $(am__distuninstallcheck_listfiles) ; \ + $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ diff --git a/lib/am/distdir.am b/lib/am/distdir.am index ea9af94..d3b34e1 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -518,16 +518,17 @@ distcheck: dist distuninstallcheck_listfiles = find . -type f -print ## The `dir' file (created by install-info) might still exist after ## uninstall, so we must be prepared to account for it. The following -## check assumes that the package author hasn't changed ${infodir} nor -## ${datarootdir} in strange ways; if he has done so, then he should be -## prepared to define a custom $(distuninstallcheck_listfiles) as well. -## Also, this check is slightly laxer than we'd like, but obtaining 100% -## precision would be too tricky to be really worth, so we declare this -## good enough. +## check is not 100% strict, but is definitely good enough, and even +## accounts for overridden ${infodir}. am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | grep -v '/share/info/dir$$' + | sed 's|^\./|${prefix}/|' | grep -v '${infodir}/dir$$' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' || { \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with and empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ @@ -536,7 +537,7 @@ distuninstallcheck: if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ - $(am__distuninstallcheck_listfiles) ; \ + $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 ## Define distcleancheck_listfiles and distcleancheck separately diff --git a/tests/Makefile.am b/tests/Makefile.am index 85f62f2..5791588 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -336,6 +336,7 @@ distcheck-hook2.test \ distcheck-missing-m4.test \ distcheck-outdated-m4.test \ distcheck-pr9579.test \ +distcheck-override-infodir.test \ dmalloc.test \ doc-parsing-buglets-colneq-subst.test \ doc-parsing-buglets-tabs.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 4e482b6..1e1cb79 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -614,6 +614,7 @@ distcheck-hook2.test \ distcheck-missing-m4.test \ distcheck-outdated-m4.test \ distcheck-pr9579.test \ +distcheck-override-infodir.test \ dmalloc.test \ doc-parsing-buglets-colneq-subst.test \ doc-parsing-buglets-tabs.test \ diff --git a/tests/distcheck-override-infodir.test b/tests/distcheck-override-infodir.test new file mode 100755 index 0000000..8c54cfb --- /dev/null +++ b/tests/distcheck-override-infodir.test @@ -0,0 +1,63 @@ +#! /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 . + +# Check that we can override ${infodir} while having distcheck still +# working. Relate to automake bug#9579. + +required='makeinfo tex texi2dvi' +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AC_OUTPUT +END + +cat > Makefile.am << 'END' +infodir = ${prefix}/blah/blah/foobar +info_TEXINFOS = main.texi +## Sanity check. +installcheck-local: + if test x$${infodir+set} != xset; then \ + ls -l "$(DESTDIR)/$(prefix)/blah/blah/foobar/" || exit 1; \ + test -f "$(DESTDIR)/$(prefix)/blah/blah/foobar/dir" || exit 1; \ + else \ + ls -l "$(DESTDIR)/$$infodir/" || exit 1; \ + test -f "$(DESTDIR)/$$infodir/dir" || exit 1; \ + fi +END + +cat > main.texi << 'END' +\input texinfo +@setfilename main.info +@settitle main +@node Top +Hello walls. +@bye +END + +$ACLOCAL +$AUTOMAKE -a +$AUTOCONF + +./configure +$MAKE + +$MAKE distcheck +infodir="`pwd`"/_info $MAKE -e distcheck +test -f _info/dir || Exit 99 # Sanity check. + +: diff --git a/tests/distcheck-pr9579.test b/tests/distcheck-pr9579.test index b443b68..1d738ba 100755 --- a/tests/distcheck-pr9579.test +++ b/tests/distcheck-pr9579.test @@ -54,6 +54,7 @@ test -f inst/share/dir # We expect the uninstall target of our Makefile to be definitely broken. $MAKE uninstall test -f inst/share/dir +rm -rf inst $MAKE distcheck >output 2>&1 && { cat output; Exit 1; } cat output @@ -61,4 +62,37 @@ cat output $FGREP 'ERROR: files left after uninstall:' output grep '/share/dir *$' output +# More trickier corner cases. + +cat > Makefile.am << 'END' +EXTRA_DIST = dir +install-data-local: +install-data-local: + $(MKDIR_P) '$(DESTDIR)$(prefix)/mu/share/info' + cp '$(srcdir)/dir' '$(DESTDIR)$(prefix)/mu/share/info' + $(MKDIR_P) '$(DESTDIR)$(infodir)/more' + cp '$(srcdir)/dir' '$(DESTDIR)$(infodir)/more' +END + +$AUTOMAKE +./config.status Makefile + +# Sanity checks, again. +$MAKE install +find inst -type f +test -f inst/mu/share/info/dir +test -f inst/share/info/more/dir +# We expect the uninstall target of our Makefile to be definitely broken. +$MAKE uninstall +test -f inst/mu/share/info/dir +test -f inst/share/info/more/dir +rm -rf inst + +$MAKE distcheck >output 2>&1 && { cat output; Exit 1; } +cat output + +$FGREP 'ERROR: files left after uninstall:' output +grep '/mu/share/info/dir *$' output +grep '/share/info/more/dir *$' output + : --Boundary-00=_TkYgOc8bTPJ6nHl-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 01 13:25:24 2011 Received: (at 9579-done) by debbugs.gnu.org; 1 Oct 2011 17:25:24 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RA3JU-0003Hj-I1 for submit@debbugs.gnu.org; Sat, 01 Oct 2011 13:25:24 -0400 Received: from mail-bw0-f44.google.com ([209.85.214.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RA3JT-0003Hd-5L for 9579-done@debbugs.gnu.org; Sat, 01 Oct 2011 13:25:23 -0400 Received: by bkaq10 with SMTP id q10so3203290bka.3 for <9579-done@debbugs.gnu.org>; Sat, 01 Oct 2011 10:24:09 -0700 (PDT) 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:content-transfer-encoding:message-id; bh=dyVhxsFn4LtQiQoYX6B/tWmrlirr+4kuu81cFXknipM=; b=jHTHqpN2KiHqmfupe756cojQnMV5xnUTfnNYRD5n1sq34ollhCAgTUmNzShVoWs7FN BrIaim7hQz2smOzHFkPdtfM2KO0ZJVvH+nhMC2XwRccua49jrWTEUoQwgqoXs1yWVnzV M7CroDEHgKZCoWkGP9ByBboKfB/K7Rz+uE5cM= Received: by 10.223.45.18 with SMTP id c18mr2274359faf.86.1317489849134; Sat, 01 Oct 2011 10:24:09 -0700 (PDT) Received: from bigio.localnet (host132-90-dynamic.14-87-r.retail.telecomitalia.it. [87.14.90.132]) by mx.google.com with ESMTPS id l9sm12406262faa.26.2011.10.01.10.24.06 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 01 Oct 2011 10:24:07 -0700 (PDT) From: Stefano Lattarini To: Nick Bowler , 9579-done@debbugs.gnu.org Subject: Re: bug#9579: distcheck does not detect incomplete uninstall as advertised Date: Sat, 1 Oct 2011 19:23:58 +0200 User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) References: <20110922204846.GA31510@elliptictech.com> <20110926190647.GA327@elliptictech.com> <201109271028.03801.stefano.lattarini@gmail.com> In-Reply-To: <201109271028.03801.stefano.lattarini@gmail.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201110011923.58803.stefano.lattarini@gmail.com> X-Spam-Score: -3.6 (---) X-Debbugs-Envelope-To: 9579-done Cc: automake-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.6 (---) On Tuesday 27 September 2011, Stefano Lattarini wrote: > On Monday 26 September 2011, Nick Bowler wrote: > > Hi Stefano, > > > > On 2011-09-23 21:46 +0200, Stefano Lattarini wrote: > > > Apparently, it was a simple bug. Attached is the patch I'll push to maint > > > in a couple of days to fix it. As usual, reviews welcome. > > > > > > Thanks, > > > Stefano > > > > > From: Stefano Lattarini > > > Date: Fri, 23 Sep 2011 16:06:59 +0200 > > > Subject: [PATCH] distuninstallcheck: fail also when only one file is left installed > > > > I've tested this on my project, and now distcheck fails when I revert my > > uninstall-local rule. It's perhaps a bit unfortunate that > > > > make infodir='${prefix}/somewhere_else' distcheck > > > > no longer works, but I agree that it seems non-trivial to make that > > work properly. > > > Well, I don't agree anymore on this ;-) -- by complicating my patch just > a little bit, we can apparently cater for this situation as well. See the > attached squash-in (I've also attached the updated patch, for reference). > > So I'll give a couple of days for further comments, than I'll push this > improved patch instead of the previous one. > > Thanks, > Stefano > Pushed now, so I'm closing the bug report. Regards, Stefano From unknown Sat Jun 21 10:23:10 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 30 Oct 2011 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator