aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/system.scm24
1 files changed, 20 insertions, 4 deletions
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 727f1ac55f..a3f01636e6 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -551,10 +551,26 @@ list of services."
;; TRANSLATORS: Please preserve the two-space indentation.
(format #t (G_ " label: ~a~%") label)
(format #t (G_ " bootloader: ~a~%") bootloader-name)
- (format #t (G_ " root device: ~a~%")
- (if (uuid? root-device)
- (uuid->string root-device)
- root-device))
+
+ ;; TRANSLATORS: The '~[', '~;', and '~]' sequences in this string must
+ ;; be preserved. They denote conditionals, such that the result will
+ ;; look like:
+ ;; root device: UUID: 12345-678
+ ;; or:
+ ;; root device: label: "my-root"
+ ;; or just:
+ ;; root device: /dev/sda3
+ (format #t (G_ " root device: ~[UUID: ~a~;label: ~s~;~a~]~%")
+ (cond ((uuid? root-device) 0)
+ ((file-system-label? root-device) 1)
+ (else 2))
+ (cond ((uuid? root-device)
+ (uuid->string root-device))
+ ((file-system-label? root-device)
+ (file-system-label->string root-device))
+ (else
+ root-device)))
+
(format #t (G_ " kernel: ~a~%") kernel))))
(define* (list-generations pattern #:optional (profile %system-profile))