G'day,
I believe I've found a bug in Gnulib's bootstrap functionality. When
attempting to ./bootstrap Libntlm 1.8 (from [0]), I ran into this error:
$ ./bootstrap
./bootstrap: Bootstrapping from checked-out libntlm sources...
./bootstrap: getting gnulib files...
Initialized empty Git repository in /[...]/gnulib/.git/
warning: redirecting to
https://https.git.savannah.gnu.org/git/gnulib.git/
fatal: couldn't find remote ref dfb71172a46ef41f8cf8ab7ca529c1dd3097a41d
warning: redirecting to
https://https.git.savannah.gnu.org/git/gnulib.git/
fatal: mismatched algorithms: client sha256; server sha1
I eventually remembered I have init.defaultObjectFormat set to sha256 in
my global git config. And after temporarily changing it to sha1,
./bootstrap appeared to work.
Usually this shouldn't occur, since I believe git-clone sets the object
format automatically to the same as upstream. But after grepping
Libntlm's bootstrap scripts, I found that it instead invokes git-init
and manually adds the upstream with git-remote. From
bootstrap-funclib.sh, lines 527-529 (see [1]):
git -C "$gnulib_path" init
git -C "$gnulib_path" remote add origin \
${GNULIB_URL:-$default_gnulib_url}
And briefly searching the current Gnulib repo, it appears this is still
the case. From top/bootstrap.sh, lines 564-565 (see [2]):
git -C "$gnulib_path" -c init.defaultBranch=master init
git -C "$gnulib_path" remote add origin "$gnulib_url"
This explains the bug. git-init initialises the repo with a SHA256
object format, then git-remote adds an upstream with a SHA1 object
format.
As such, the bug can be fixed by appending --object-format=sha1 to the
git-init command, which forces git to initialise the repo with a SHA1
object format regardless of the global default. I've tested this with
the same Libntlm repository and it appears to work.
Take care,
Seth McDonald.
[0] <https://gitlab.com/gsasl/libntlm/-/archive/v1.8/libntlm-1.8.tar.bz2>
[1] <https://gitlab.com/gsasl/libntlm/-/blob/v1.8/bootstrap-funclib.sh#L527>
[2]
<https://github.com/coreutils/gnulib/blob/6a1ec8e86781db40430adac7c9c7a2529cbac09b/top/bootstrap-funclib.sh#L564>
--
E9D1 26A5 F0D4 9DF7 792B C2E2 B4BF 4530 D39B 2D51