Subject: [PATCH 0/6] Allow for a cryptographic hash function migration
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Mon, 18 May 2020 23:31:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix!

This is a first stab at preparing for a possible migration to
hash algorithms other than SHA256 (there’s no rush AFAIK, but it’s
good to be prepared).  The first bits just improve tests and
adjust the tools, which doesn’t hurt.

The last bit adds a ‘sha512’ field to <origin>, which we could
eventually provide instead of or in addition to ‘sha256’, possibly
as a base64-encoded string so that it’s not too large.

Another option would be to create a <hash> data type that specifies
its algorithm and its value.  We’d replace the ‘sha256’ field with
a ‘hash’ field of that type (in a backward-compatible way).  Thinking
about it, this is perhaps the better option.

Other bits that would need to be adjusted include importer, updaters,
and ‘guix publish’.

Thoughts?

Ludo’.

Ludovic Courtès (6):
  tests: Test 'add-to-store' with several hash algorithms.
  tests: Test fixed-output derivations with several hash algorithms.
  guix hash, guix download: Add '--hash'.
  guix hash, guix download: Support base64 format.
  packages: Add 'sha512' optional field to <origin>.
  packages: Add 'base64' macro.

 doc/guix.texi             | 25 +++++++++++++++--
 guix/packages.scm         | 56 +++++++++++++++++++++++----------------
 guix/scripts/download.scm | 26 +++++++++++++-----
 guix/scripts/hash.scm     | 35 +++++++++++++++++-------
 tests/derivations.scm     | 39 ++++++++++++++++-----------
 tests/guix-hash.sh        |  7 ++++-
 tests/packages.scm        | 26 ++++++++++++++++++
 tests/store.scm           | 12 +++++++++
 8 files changed, 170 insertions(+), 56 deletions(-)

-- 
2.26.2