From e13fe20049166da816cc5102f13210264c866008 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 20 Jun 2017 07:53:17 -0700 Subject: [PATCH] maint: avoid spurious "make distcheck" failure When the generated file, doc/constants.texi, happens to be older than doc/coreutils.info, it will not be updated until/unless its generated contents change. This is due to way that rule is careful to update the file, to avoid provoking a pointless rerunning of makeinfo. Note that this does not happen when one first runs "make distclean", as recommended in README-release. However, I sometimes run it as a more-rigorous "make check", and shouldn't have to manually run "make distclean" first, in that case. Before this change, one could reproduce the failure by running `touch -dyesterday doc/constants.texi && make distcheck`. It would fail with "makeinfo: could not open ../../doc/coreutils.info-t for writing: Permission denied" * Makefile.am (dist-hook): Touch the two generated files, so that they cannot be out of date wrt doc/coreutils.texi. --- Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.am b/Makefile.am index 68f537cef8..396112f0ca 100644 --- a/Makefile.am +++ b/Makefile.am @@ -90,11 +90,14 @@ BUILT_SOURCES = .version # Have .timestamp based dates only in tarball builds. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. +# The touch avoids a subtle, spurious "make distcheck" failure. dist-hook: gen-ChangeLog $(AM_V_GEN)chmod -R +rw $(distdir) $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version $(AM_V_GEN)date +%s > $(distdir)/.timestamp $(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in + $(AM_V_at)touch $(distdir)/doc/constants.texi \ + $(distdir)/doc/coreutils.info gen_start_ver = 8.15 .PHONY: gen-ChangeLog -- 2.47.2