diff mbox series

[bug#62960] gnu: cryptsetup: Update to 2.6.1.

Message ID 20230419232409.24020-1-jonathan.brielmaier@web.de
State New
Headers show
Series [bug#62960] gnu: cryptsetup: Update to 2.6.1. | expand

Commit Message

Jonathan Brielmaier April 19, 2023, 11:24 p.m. UTC
* gnu/packages/cryptsetup.scm (cryptsetup): Update to 2.6.1.
[native-inputs]: Add ruby-asciidoctor.
[inputs]: Add libssh.
(cryptsetup-static)[arguments]: Disable asciidoc and ssh token support.
---
 gnu/packages/cryptsetup.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

--
2.39.2

Comments

Jonathan Brielmaier April 19, 2023, 11:38 p.m. UTC | #1
Inspired by this blog post https://mjg59.dreamwidth.org/66429.html I
wanted to upgrade my LUKS partition to version 2 and argon2id on my
existing Guix System.

It seems a bit tricky. With the updated cryptsetup tool I cannot convert
the LUKS partition of the running system (cryptsetup@2.3.7 still allowed
that). So I booted an Arch Livesystem and converted from there, but Guix
System refuses to boot.
It hangs in Grub console saying that cryptuuid could not be found.
Leo Famulari April 23, 2023, 3:07 p.m. UTC | #2
On Thu, Apr 20, 2023 at 01:38:52AM +0200, Jonathan Brielmaier wrote:
> Inspired by this blog post https://mjg59.dreamwidth.org/66429.html I
> wanted to upgrade my LUKS partition to version 2 and argon2id on my
> existing Guix System.
> 
> It seems a bit tricky. With the updated cryptsetup tool I cannot convert
> the LUKS partition of the running system (cryptsetup@2.3.7 still allowed
> that). So I booted an Arch Livesystem and converted from there, but Guix
> System refuses to boot.
> It hangs in Grub console saying that cryptuuid could not be found.

You might need to check on which versions of cryptsetup GRUB is
compatible with. And also which cryptsetup features are supported by
GRUB.
diff mbox series

Patch

diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm
index d8a6437259..cdeed5c26a 100644
--- a/gnu/packages/cryptsetup.scm
+++ b/gnu/packages/cryptsetup.scm
@@ -2,6 +2,7 @@ 
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,12 +31,14 @@  (define-module (gnu packages cryptsetup)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages ssh)
   #:use-module (gnu packages web))

 (define-public cryptsetup
   (package
    (name "cryptsetup")
-   (version "2.3.7")
+   (version "2.6.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v"
@@ -43,7 +46,7 @@  (define-public cryptsetup
                                 "/cryptsetup-" version ".tar.xz"))
             (sha256
              (base32
-              "1a97rvi6arsj8dikh1qsvixx9rizm89k155q2ypifqlqllr530v1"))))
+              "14s6vbb9llpgnhmv0badxxzhi73jp4vyvp8swk4bjah7l5jys3a1"))))
    (build-system gnu-build-system)
    (arguments
     `(#:configure-flags
@@ -55,11 +58,13 @@  (define-public cryptsetup
        ;; GRUB 2.06 supports LUKS2, but does it reliably support all set-ups…?
        "--with-default-luks-format=LUKS1")))
    (native-inputs
-    (list pkg-config))
+    (list pkg-config
+          ruby-asciidoctor))
    (inputs
     (list argon2
           json-c
           libgcrypt
+          libssh
           lvm2 ; device-mapper
           popt
           `(,util-linux "lib"))) ;libuuid
@@ -110,7 +115,9 @@  (define-public cryptsetup-static
                            ;; The default is OpenSSL which provides better PBKDF performance.
                            "--with-crypto_backend=gcrypt"

+                           "--disable-asciidoc"
                            "--disable-blkid"
+                           "--disable-ssh-token"
                            ;; 'libdevmapper.a' pulls in libpthread, libudev and libm.
                            "LIBS=-ludev -pthread -lm")