GNU bug report logs -
#51307
[PATCH 0/2] guix hash: eases conversion
Previous Next
Reported by: zimoun <zimon.toutoune <at> gmail.com>
Date: Wed, 20 Oct 2021 16:51:01 UTC
Severity: normal
Tags: patch
Done: zimoun <zimon.toutoune <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #20 received at 51307 <at> debbugs.gnu.org (full text, mbox):
Hi,
zimoun <zimon.toutoune <at> gmail.com> skribis:
> 2. Using the option recursive changes the result for tarball, as with:
>
> $ guix hash $(guix build hello -S)
> 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i
>
> $ guix hash $(guix build hello -S) --recursive
> 1qx3qqk86vgdvpqkhpgzq3gfcxmys29wzfizjb9asn4crbn503x9
>
> And I am not able to imagine a case. To me, it should be a fixed-point.
> That’s what the first patch correct.
That’s expected: ‘--recursive’ uses a different computation method,
including file metadata (technically, it serializes the file as a nar
and computes the hash of the nar).
[...]
> Then, working on Disarchive which uses base16 as encoding, it is annoying
> twice,
>
> a) because it requires to download when all the sources
> b) because it sometimes requires to apply patches
>
> Compare,
>
> $ guix hash $(guix build ceph -S)
> 0ppd362s177cc47g75v0k27j7aaf27qc31cbbh0j2g30wmhl8gj7
>
> with the checksum in the package definition:
> 0lmdri415hqczc9565s5m5568pnj97ipqxgnw6085kps0flwq5zh.
>
> With the second patch, it becomes easy to convert the checksum from upstream:
>
> $ ./pre-inst-env guix hash ceph -f base16
> f017cca903face8280e1f6757ce349d25e644aa945175312fb0cc31248ccad52
>
> and nothing is downloaded. Get the checksum of what Guix really builds is
> done via the current way, for instance,
>
> $ guix hash $(guix build ceph -S) -f base16
> 473e4461e5603c21015c8b85c1f0114ea9238f986097f30e61ec9ca08519ed5e
>
> and the second patch allows to convert the checksum from the package
> definition (without downloading).
Ah yes, got it. (I should read messages in the right order, oops!)
An obvious problem with the interface you propose is that it’s
ambiguous: are you printing the hash of the ‘ceph’ package, or computing
that of the ‘ceph’ file? I’m sure the Zen of Python has something on
ambiguity. ;-)
Do you think there’s another place where we could provide helpers for
the die-hard Disarchive hackers among us? Maybe we could get ‘guix lint
-c archival’ to print Disarchive URLs upon failure, and that’d already
help?
WDYT?
Thanks!
Ludo’.
This bug report was last modified 3 years and 155 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.