On 7/24/22 16:18, Bruno Haible wrote:

For (a), everything works already. The old 'bootstrap' script has
hardwired code to fetch gnulib/build-aux/bootstrap. This gets executed,
and this intermediate, not really functional 'bootstrap' script gets
copied into the package and gets executed. It notices that the 3
companion files are still missing, copies the 4 files into the package,
and re-execs the (now fully functional) 'bootstrap'. In other words,
the only purpose of the gnulib/build-aux/bootstrap is a trampoline
to fetch the other files.

Unfortunately that didn't work for me when I tried it with GNU Tar, which led to some of my confusion.

Here's how I can reproduce the problem, starting with a fresh checkout of the latest GNU Tar (commit 5c4f8cadbd362497dc3c3136566589557ce00f1b). The following commands replace Tar's 'bootstrap' (which is top/bootstrap) with build-aux/bootstrap, removes the files that are supposed to be fetched automatically, and then runs ./bootstrap which fails because the files are not fetched automatically.

  $ cp $HOME/src/gnu/gnulib/build-aux/bootstrap .
  $ rm autogen.sh autopull.sh bootstrap-funclib.sh
  $ ./bootstrap
  grep: paxutils/gnulib.modules: No such file or directory
  ./bootstrap: Bootstrapping from checked-out tar sources...
  ./bootstrap: line 793: ./autopull.sh: No such file or directory
  ./bootstrap: autopull.sh failed.

(The "grep:" diagnostic is an annoyance that I haven't bothered to get to the bottom of; it is output even if I omit the "rm" command which causes the bootstrap to succeed.)

Perhaps I'm doing something wrong in tar/bootstrap.conf? It wasn't entirely clear to me which actions should go into which hooks.

Reply via email to