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