TTimothy Sample wrote on 20 May 2021 17:50
(address . email@example.com)
When trying to recover the ‘non-sequencer’ source from SWH, Guix fails
with a hash mismatch:
expected hash: 1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx
actual hash: 1xrrczqx4ll276g449nqiq0ip6lpika9hs4z4xgxaa6ayw60v29f
The reason is that the checkout includes submodules, and the way that
Guix treats submodules differs from the way that SWH treats them. Note
that this is not a recursive checkout (which is also broken, but more
clearly a “known limitation”). In particular, Guix leaves the submodule
as an empty directory, while SWH turns it into a symlink pointing to the
submodule’s commit hash:
$ readlink ./f20fa6babec52bbf703bad6c1c92fa845b781f7e/lib/ntk
This is clearly a rare edge case, but it should be pretty easy to fix.
Perhaps it’s as easy as just opening “.gitmodules” and replacing the
symlink at each submodule path with an empty directory.