summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2025-07-06 16:54:28 +0200
committerLudovic Courtès <ludo@gnu.org>2025-07-18 00:57:31 +0200
commit14c8728f0d812ea2c396b3c0564fa8da1202f430 (patch)
tree43918dec589454dd2e3062e96ac53859bddf4388 /gnu/system
parent62bf9a7cc79d24e7edc2b56d6dde6e77eebc537e (diff)
mapped-devices: luks: Adjust to support extra arguments.
Fixes <https://issues.guix.gnu.org/70826>. When using ‘luks-device-mapping-with-options’, procedures such as ‘operating-system-boot-mapped-devices’ would fail to identify LUKS mapped devices because they would check whether the mapped device type is ‘eq?’ to ‘luks-device-mapping’. This addresses that by ensuring mapped devices are always of the ‘luks-device-mapping’ type, even when different options are used. * gnu/system/mapped-devices.scm (close-luks-device): Add #:rest. (luks-device-mapping-with-options): Deprecate. * gnu/tests/install.scm (%encrypted-home-os-key-file): Update accordingly. * doc/guix.texi (Mapped Devices): Document use of the ‘arguments’ field of ‘luks-device-mapping’. Remove ‘luks-device-mapping-with-options’ documentation. (Bootloader Configuration): Update example with key file in extra initrd. Change-Id: I5442908cb8ef4e3891dbb053cccf5e42b895486f Reported-by: Tadhg McDonald-Jensen <tadhgmister@gmail.com>
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/mapped-devices.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index c09a0f1ef17..b0a6beef280 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -256,7 +256,7 @@ requests is allowed for the underlying device."
256 (zero? (apply system*/tty cryptsetup 256 (zero? (apply system*/tty cryptsetup
257 cryptsetup-flags)))))))))) 257 cryptsetup-flags))))))))))
258 258
259(define (close-luks-device source targets) 259(define* (close-luks-device source targets #:rest _)
260 "Return a gexp that closes TARGET, a LUKS device." 260 "Return a gexp that closes TARGET, a LUKS device."
261 (match targets 261 (match targets
262 ((target) 262 ((target)
@@ -296,7 +296,9 @@ requests is allowed for the underlying device."
296 ((gnu build file-systems) 296 ((gnu build file-systems)
297 #:select (find-partition-by-luks-uuid system*/tty)))))) 297 #:select (find-partition-by-luks-uuid system*/tty))))))
298 298
299(define* (luks-device-mapping-with-options #:key key-file allow-discards?) 299(define-deprecated (luks-device-mapping-with-options #:key
300 key-file allow-discards?)
301 mapped-device-arguments
300 "Return a luks-device-mapping object with open modified to pass the arguments 302 "Return a luks-device-mapping object with open modified to pass the arguments
301into the open-luks-device procedure." 303into the open-luks-device procedure."
302 (mapped-device-kind 304 (mapped-device-kind