• Show log

    Commit

  • Hash : 5d022858
    Author : Mike Frysinger
    Date : 2022-01-18T04:47:09

    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.