|
From: | Paul Eggert |
Subject: | Re: split bootstrap in two phases, GNU tar |
Date: | Sun, 24 Jul 2022 16:53:13 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |