GNU bug report logs - #14316
[PATCH 6/7] subdirs: don't return false positives for the '-k' option's presence

Previous Next

Package: automake;

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

Date: Mon, 29 Apr 2013 21:02:07 UTC

Severity: normal

Tags: notabug, patch

Merged with 14309, 14310, 14311, 14312, 14313, 14314, 14315

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

Bug is archived. No further changes may be made.

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

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

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


Report forwarded to bug-automake <at> gnu.org:
bug#14316; Package automake. (Mon, 29 Apr 2013 21:02:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefano Lattarini <stefano.lattarini <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Mon, 29 Apr 2013 21:02:07 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: automake-patches <at> gnu.org
Cc: mdaniels <at> rim.com, bug-automake <at> gnu.org, 12554 <at> debbugs.gnu.org
Subject: [PATCH 6/7] subdirs: don't return false positives for the '-k'
	option's presence
Date: Mon, 29 Apr 2013 23:00:34 +0200
This change fixes automake bug#12554.

The old implementation of the code descending into $(SUBDIRS)
entries used the following snippet to decide whether make is running
with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
in a subdirectory should prevent the descent in the following ones:

    fail= failcom='exit 1'; \
    for f in x $$MAKEFLAGS; do \
      case $$f in \
        *=* | --[!k]*);; \
        *k*) failcom='fail=yes';; \
      esac; \
    done

It's clear that the second pattern in the 'case' construct could possibly
match false positives, for examples in these two cases:

    make check TESTS="x.test k.test"
    make -I /usr/local/kool-fragments

which are somewhat unusual, but not invalid.  So we need a more resilient
implementation, as we did for the detection of the '-n' flag.

This implementation is now provided by the new private macro
'$(am__make_keepgoing)' (introduced in recent commits); so we can
just us that to fix the bug.

* lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)'
instead of ad-hoc and more brittle checks.
* t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case
't/subdir-keep-going-pr12554.sh'.

Reported-by: Michael Daniels <mdaniels <at> rim.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini <at> gmail.com>
---
 lib/am/subdirs.am  | 13 ++++++-------
 t/list-of-tests.mk |  1 -
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/lib/am/subdirs.am b/lib/am/subdirs.am
index c4c3694..999aa78 100644
--- a/lib/am/subdirs.am
+++ b/lib/am/subdirs.am
@@ -39,13 +39,12 @@ AM_RECURSIVE_TARGETS += $(am__recursive_targets:-recursive=)
 $(am__recursive_targets):
 ## Using $failcom allows "-k" to keep its natural meaning when running a
 ## recursive rule.
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
 ## For distclean and maintainer-clean we make sure to use the full
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 51a3272..bb9b7a6 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -41,7 +41,6 @@ t/remake-timing-bug-pr8365.sh \
 t/lex-subobj-nodep.sh \
 t/remake-am-pr10111.sh \
 t/remake-m4-pr10111.sh \
-t/subdir-keep-going-pr12554.sh \
 $(perl_fake_XFAIL_TESTS)
 
 perl_TESTS = \
-- 
1.8.2.1.610.g562af5b





Forcibly Merged 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:10:03 GMT) Full text and rfc822 format available.

Forcibly Merged 14309 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:14:01 GMT) Full text and rfc822 format available.

Forcibly Merged 14309 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:14:02 GMT) Full text and rfc822 format available.

Forcibly Merged 14309 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:14:02 GMT) Full text and rfc822 format available.

Forcibly Merged 14309 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:14:02 GMT) Full text and rfc822 format available.

Forcibly Merged 14309 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:14:02 GMT) Full text and rfc822 format available.

Forcibly Merged 14309 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:14:02 GMT) Full text and rfc822 format available.

Forcibly Merged 14309 14310 14311 14312 14313 14314 14315 14316. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 29 Apr 2013 21:14:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#14316; Package automake. (Mon, 29 Apr 2013 21:19:05 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Subject: Spurious bug report, ignore
Date: Mon, 29 Apr 2013 23:17:39 +0200
Oops, erroneously created while dealing with bug#12254.  Please ignore,
and sorry for the noise,

  Stefano




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 30 May 2013 11:24:03 GMT) Full text and rfc822 format available.

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

Previous Next


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