guix package: Show which generation is the current one.
authorNikita Karetnikov <nikita@karetnikov.org>
Wed, 25 Sep 2013 01:55:27 +0000 (01:55 +0000)
committerNikita Karetnikov <nikita@karetnikov.org>
Wed, 25 Sep 2013 16:10:40 +0000 (16:10 +0000)
* guix/scripts/package.scm (guix-package)[process-query]: Show that a
  generation is the current one if the profile points to it.
* tests/guix-package.sh: Test it.

guix/scripts/package.scm
tests/guix-package.sh

index dab3d5b..66505f1 100644 (file)
@@ -956,11 +956,15 @@ more information.~%"))
         (('list-generations pattern)
          (define (list-generation number)
            (unless (zero? number)
-             (format #t (_ "Generation ~a\t~a~%") number
-                     (date->string
-                      (time-utc->date
-                       (generation-time profile number))
-                      "~b ~d ~Y ~T"))
+             (let ((header (format #f (_ "Generation ~a\t~a") number
+                                   (date->string
+                                    (time-utc->date
+                                     (generation-time profile number))
+                                    "~b ~d ~Y ~T")))
+                   (current (generation-number profile)))
+               (if (= number current)
+                   (format #t (_ "~a\t(current)~%") header)
+                   (format #t "~a~%" header)))
              (for-each (match-lambda
                         ((name version output location _)
                          (format #t "  ~a\t~a\t~a\t~a~%"
index 524ff32..5f97aff 100644 (file)
@@ -119,6 +119,9 @@ then
     test "`readlink_base "$profile"`" = "$profile-1-link"
     test -x "$profile/bin/guile" && ! test -x "$profile/bin/make"
 
+    # Check that the first generation is the current one.
+    test "`guix package -p "$profile" -l 1 | cut -f3 | head -n1`" = "(current)"
+
     # Roll-back to generation 0, and install---all at once.
     guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap
     test "`readlink_base "$profile"`" = "$profile-1-link"