From: "Ludovic Courtès" <ludo@gnu.org>
To: zimoun <zimon.toutoune@gmail.com>
Cc: 51307@debbugs.gnu.org
Subject: [bug#51307] [PATCH 0/2] guix hash: eases conversion
Date: Sat, 30 Oct 2021 16:53:17 +0200 [thread overview]
Message-ID: <87wnlusgwy.fsf@gnu.org> (raw)
In-Reply-To: <20211020165020.3358311-1-zimon.toutoune@gmail.com> (zimoun's message of "Wed, 20 Oct 2021 18:50:20 +0200")
Hi,
zimoun <zimon.toutoune@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’.
next prev parent reply other threads:[~2021-10-30 14:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 16:50 [bug#51307] [PATCH 0/2] guix hash: eases conversion zimoun
2021-10-20 16:54 ` [bug#51307] [PATCH 1/2] scripts: hash: Improve error handling zimoun
2021-10-20 16:54 ` [bug#51307] [PATCH 2/2] scripts: hash: Support file or package zimoun
2021-10-30 14:48 ` [bug#51307] [PATCH 0/2] guix hash: eases conversion Ludovic Courtès
2021-10-30 15:34 ` zimoun
2021-10-30 14:46 ` Ludovic Courtès
2021-10-30 15:40 ` zimoun
2021-10-31 13:43 ` Ludovic Courtès
2021-10-30 14:53 ` Ludovic Courtès [this message]
2021-10-30 15:19 ` zimoun
2021-10-30 15:24 ` zimoun
2021-10-31 14:03 ` Ludovic Courtès
2021-11-09 9:18 ` zimoun
2021-10-31 14:48 ` [bug#51307] Content hashes and file tree serialization methods Ludovic Courtès
2021-11-18 0:29 ` zimoun
2021-11-18 0:20 ` [bug#51307] [PATCH v2 0/3] scripts: hash: Several files and serializer zimoun
2021-11-18 0:20 ` [bug#51307] [PATCH v2 1/3] scripts: hash: Support several files zimoun
2021-12-17 16:17 ` Ludovic Courtès
2021-11-18 0:20 ` [bug#51307] [PATCH v2 2/3] scripts: hash: Add 'serializer' option zimoun
2021-12-17 16:17 ` Ludovic Courtès
2021-11-18 0:20 ` [bug#51307] [PATCH v2 3/3] scripts: hash: Add git serializer zimoun
[not found] ` <87bl1bjsxf.fsf@gnu.org>
[not found] ` <CAJ3okZ00+BSw=nuhGP8NTwU8ZmitzrfFzTw0WecsOB9rZ+hG_g@mail.gmail.com>
2021-12-21 9:09 ` Ludovic Courtès
2021-12-15 8:06 ` [bug#51307] [PATCH v2 0/3] scripts: hash: Several files and serializer zimoun
2021-12-15 10:05 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wnlusgwy.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=51307@debbugs.gnu.org \
--cc=zimon.toutoune@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).