gnuboot/manual
Denis 'GNUtoo' Carikli 9ed7e62253
guix git authenticate: workaround broken command due to guix/guile-git bug #66268.
If we run the following commands:
    $ git clone https://git.savannah.gnu.org/git/gnuboot.git
    $ cd gnuboot
    $ git authenticate bf2b91df54 \
      "E23C 26A5 DEEE C5FA 9CDD  D57A 57BC 26A3 6871 16F6" \
      -k origin/keyring

We then end with the following issue:
    Authenticating commits bf2b91d to c85fbae (47 new commits)...
    guix git: error: commit c85fbae78f
    is not a descendant of introductory commit
    bf2b91df54

But first the bf2b91df54 commit ("Add
.guix-authorizations file for "guix git authenticate".") is the proper
introductory commit and everything else is fine too (it is signed by
the right key, the signature matches, all the history between bf2b91d
and c85fbae is linear and all the signatures also match fine.

The issue is that the introductory commit size is > 4KB and so this
trigger a bug in Guix and/or guile-git[1] where guix uses eq? to
compare commits and two commits are not equals with eq? if their hash
is the same but that they are > 4KB.

[1]https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66268

The workaround is then to substitute the introductory commit with the
one right after it and also to make sure that any commit in between
that introductory commit substitute and HEAD have a commit message and
or commit data and/or patch that is less than 4KB.

This issue also needs to be fixed upstream in Guix and/or guile-git
but we also need to workaround now as the fix could take time to reach
users as first the problem is not trivial to fix and even once fixed
in Guix, it would be best not to require to have to run git pull
(which can take a huge amount of time, probably hours) just to
authenticate the GNU Boot git repository.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-11-27 22:08:38 +01:00
..
.gitignore Add a minimal GNU Boot manual. 2024-11-25 16:39:16 +01:00
SOIC-16.jpeg Add a minimal GNU Boot manual. 2024-11-25 16:39:16 +01:00
fdl-1.3.texi Add a minimal GNU Boot manual. 2024-11-25 16:39:16 +01:00
gnuboot.texi guix git authenticate: workaround broken command due to guix/guile-git bug #66268. 2024-11-27 22:08:38 +01:00