Subject: Re: bug#11347: the remake rules in the automake test suite are too greedy

From: Eric Blake <[email-masked]>
Date: Thu, 26 Apr 2012 08:28:32 -0600

On 04/26/2012 07:10 AM, Stefano Lattarini wrote:
>> > 
> And here is a patch.  The change itself is obvious, but I'd like a review
> on the long-winded commit message.  I will push by tomorrow if there is no
> review by then.
> 

> 
> The described situation could hinder hinder on-field testing or debugging

s/hinder hinder on-field/hinder in-field/

> by users (even experienced ones) that are not automake developers; see
> for example automake bug#11347.
> 
> So we drop the explicit dependency of 't/testsuite-part.am' on the
> hand-written test cases.  (As an aside, note that this has already
> been done in Automake-NG, albeit for other reasons; see the commit
> 'v1.11b-129-g1690aca' of 23-40-2012, "[ng] build: define $(TESTS)

s/23-40-2012/2012-04-23/ (typo, plus day/month/year can be ambiguous
with month/day/year, whereas the ISO ordering of year/month/day tends to
be unambiguous).

> through a wildcard").
> 
> This is not a serious regression in the faithfulness of the Automake
> build systems, since it that already had several undeclared dependencies

s/that /unfortunately /

> unfortunately; e.g., 'Makefile.in' should depend on the automake script,

s/unfortunately//

> and 'aclocal.m4' should depend on the aclocal script (but this isn't
> possible, as it would mean that distributed files depend on ones generated
> at make time).  Similarly, 'Makefile.in' should depend on some of the
> 'lib/am/*.am' files, but does not.
> 
> Currently, the workaround to get a faithful and correct rebuild is to run
> 
>   ./bootstrap && ./config.status --recheck && make clean all
> 
> and the present commit does not change that.

> -$(generated_TESTS) $(srcdir)/t/testsuite-part.am: \
> -  $(srcdir)/gen-testsuite-part \
> -  t/list-of-tests.mk \
> -  Makefile.am \
> -  $(handwritten_TESTS)
> +## The dependnecies declared here are not truly complete, but such a

s/dependnecies/dependencies/; s/such a/such/

> +## completeness would cause more issues than it would solve.  See
> +## automake bug#11347.
> +$(generated_TESTS): $(srcdir)/gen-testsuite-part
> +$(srcdir)/t/testsuite-part.am: $(srcdir)/gen-testsuite-part Makefile.am
>  
>  # Static dependencies valid for each test case.
>  check_SCRIPTS = t/wrap/aclocal-$(APIVERSION) t/wrap/automake-$(APIVERSION)
> -- 1.7.9.5
> 

-- 
Eric Blake   [email-masked]    +1-919-301-3266
Libvirt virtualization library http://libvirt.org