This patch improves the efficiency of "git clone" in 'bootstrap'.
In the inetutils CI this patch dramatically speeds up of the 'build-tarball'
phase:
Build from August 5: 7 min 29 sec
Build from August 11: 8 min 48 sec
Build from August 18: 6 min 58 sec
Build from August 25: 11 min 50 sec
Build from Sept. 1: 15 min 35 sec
Build from today, #1: 48 min 37 sec
Build from today, #2: 20 min 42 sec and failed:
./bootstrap: getting gnulib files...
Initialized empty Git repository in
/home/runner/work/ci-check/ci-check/inetutils/gnulib/.git/
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the
received TLS packet.
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
remote: warning: suboptimal pack - out of memory
remote: error: Out of memory, malloc failed (tried to allocate 6885877 bytes)
remote: fatal: packed object 68b375e9b52ceed44ff656214a233616b822c770 (stored
in ./objects/pack/pack-81de6107cf729dcbf0372b01a06593dc75fe2c17.pack) is
corrupt
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header
Build from today, #3 (with this patch): 6 min 40 sec
2025-09-07 Bruno Haible <[email protected]>
bootstrap: Improve efficiency of "git clone".
* top/bootstrap-funclib.sh (default_gnulib_url): Use read-only mirror of
git.savannah.gnu.org.
* build-aux/bootstrap: Regenerated.
diff --git a/top/bootstrap-funclib.sh b/top/bootstrap-funclib.sh
index e4f42103b4..0ed5be464e 100644
--- a/top/bootstrap-funclib.sh
+++ b/top/bootstrap-funclib.sh
@@ -1,6 +1,6 @@
# A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
-scriptlibversion=2025-06-10.02; # UTC
+scriptlibversion=2025-09-07.23; # UTC
# Copyright (C) 2003-2025 Free Software Foundation, Inc.
#
@@ -35,7 +35,7 @@ export LC_ALL
# Honor $PERL, but work even if there is none.
PERL="${PERL-perl}"
-default_gnulib_url=https://git.savannah.gnu.org/git/gnulib.git
+default_gnulib_url=https://https.git.savannah.gnu.org/git/gnulib.git
# Copyright year, for the --version output.
copyright_year=`echo "$scriptlibversion" | sed -e 's/[^0-9].*//'`