diff options
author | Mike Frysinger <vapier@gentoo.org> | 2022-01-18 04:47:09 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2022-01-19 00:02:40 -0500 |
commit | 5d02285845acfc20a4900a471c0e7c5e2ff390a0 (patch) | |
tree | 914671d3d4bfcfd0055ad05e757eb038e31c17a8 | |
parent | 5fefc4a67823c585ba1cd4654feaf21af4bde113 (diff) | |
download | automake-5d02285845acfc20a4900a471c0e7c5e2ff390a0.tar.gz |
build: fix race in parallel builds
As reported by Hongxu Jia:
> The automake-$(APIVERSION) is a hardlink of automake, if it is
> created later than update_mans executing, there is a failure
> [snip]
> |: && mkdir -p doc && ./pre-inst-env /usr/bin/env perl ../automake-1.16.1/doc/help2man --output=doc/aclocal-1.16.1 aclocal-1.16
> |help2man: can't get `--help' info from aclocal-1.16
> |Try `--no-discard-stderr' if option outputs to stderr
> Makefile:3693: recipe for target 'doc/aclocal-1.16.1' failed
> [snip]
>
> The automake_script is required by update_mans and update_mans
> invokes automake-$(APIVERSION) rather than automake to generate
> doc, so we should assign `automake-$(APIVERSION)' to automake_script.
>
> The same reason to tweak aclocal_script.
However, rather than update the _script variables to point to the
hardlinked copies of the programs, we can have the help2man steps
run the existing scripts directly. This makes the relationship a
bit more explicit and avoids implicit dependencies on names.
* doc/local.mk: Pass $(aclocal_script) and $(automake_script) to $(update_mans).
* THANKS: Add Hongxu Jia.
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | doc/local.mk | 4 |
2 files changed, 3 insertions, 2 deletions
@@ -164,6 +164,7 @@ Henrik Frystyk Nielsen frystyk@w3.org Hib Eris hib@hiberis.nl Hilko Bengen bengen@debian.org Holger Hans Peter Freyther holger@freyther.de +Hongxu Jia hongxu.jia@windriver.com Ian Lance Taylor ian@cygnus.com Ignacy Gawedzki i@lri.fr Илья Н. Голубев gin@mo.msk.ru diff --git a/doc/local.mk b/doc/local.mk index a29363d2d..06c78823a 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -46,9 +46,9 @@ update_mans = \ && echo ".so man1/$$f-$(APIVERSION).1" > $@ %D%/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm - $(update_mans) aclocal-$(APIVERSION) + $(update_mans) $(aclocal_script) %D%/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm - $(update_mans) automake-$(APIVERSION) + $(update_mans) $(automake_script) ## This target is not invoked as a dependency of anything. It exists ## merely to make checking the links in automake.texi (that is, |