diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2025-07-06 16:54:28 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2025-07-18 00:57:31 +0200 |
| commit | 14c8728f0d812ea2c396b3c0564fa8da1202f430 (patch) | |
| tree | 43918dec589454dd2e3062e96ac53859bddf4388 /gnu/system | |
| parent | 62bf9a7cc79d24e7edc2b56d6dde6e77eebc537e (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.scm | 6 |
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 |
| 301 | into the open-luks-device procedure." | 303 | into the open-luks-device procedure." |
| 302 | (mapped-device-kind | 304 | (mapped-device-kind |
