summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-06-20 15:19:52 +0200
committerLudovic Courtès <ludo@gnu.org>2018-06-20 23:47:08 +0200
commite203f4c26a5b8a26e8e214517fef012fc2cd294e (patch)
treef4be1ac19523bc2d12d8ce7a088e4e49ef26a3db
parent378daa8cb677121e1893f9173af1db060720d6e4 (diff)
downloadguix-e203f4c26a5b8a26e8e214517fef012fc2cd294e.tar.gz
guix system: 'list-generation' correctly displays file system labels.
* guix/scripts/system.scm (display-system-generation): Correctly display
file system labels.  Previously, starting from commit
a5acc17a3c10a3779b5b8b1a2565ef130be77e51, it'd print #<file-system-label "foo">.
-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))