mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
file-systems: Preserve UUID types when serializing.
Reported by Roel Janssen <roel@gnu.org> at <https://lists.gnu.org/archive/html/help-guix/2017-09/msg00094.html>. * gnu/system/file-systems.scm (file-system->spec): When DEVICE is a UUID, serialize it in a way that preserves its type. (spec->file-system): Adjust accordingly. * gnu/build/file-systems.scm (canonicalize-device-spec): Add case for when SPEC is 'uuid?'.
This commit is contained in:
parent
1c65cca574
commit
9976c76aab
2 changed files with 14 additions and 7 deletions
|
@ -18,6 +18,7 @@
|
|||
|
||||
(define-module (gnu system file-systems)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (guix records)
|
||||
#:use-module (gnu system uuid)
|
||||
|
@ -161,7 +162,7 @@ initrd code."
|
|||
(match fs
|
||||
(($ <file-system> device title mount-point type flags options _ _ check?)
|
||||
(list (if (uuid? device)
|
||||
(uuid-bytevector device)
|
||||
`(uuid ,(uuid-type device) ,(uuid-bytevector device))
|
||||
device)
|
||||
title mount-point type flags options check?))))
|
||||
|
||||
|
@ -170,7 +171,12 @@ initrd code."
|
|||
(match sexp
|
||||
((device title mount-point type flags options check?)
|
||||
(file-system
|
||||
(device device) (title title)
|
||||
(device (match device
|
||||
(('uuid (? symbol? type) (? bytevector? bv))
|
||||
(bytevector->uuid bv type))
|
||||
(_
|
||||
device)))
|
||||
(title title)
|
||||
(mount-point mount-point) (type type)
|
||||
(flags flags) (options options)
|
||||
(check? check?)))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue