guix package: Show which generation is the current one.

* 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.
This commit is contained in:
Nikita Karetnikov 2013-09-25 01:55:27 +00:00
parent aad5af9f40
commit 9ac9360d6e
2 changed files with 12 additions and 5 deletions

View File

@ -956,11 +956,15 @@ more information.~%"))
(('list-generations pattern) (('list-generations pattern)
(define (list-generation number) (define (list-generation number)
(unless (zero? number) (unless (zero? number)
(format #t (_ "Generation ~a\t~a~%") number (let ((header (format #f (_ "Generation ~a\t~a") number
(date->string (date->string
(time-utc->date (time-utc->date
(generation-time profile number)) (generation-time profile number))
"~b ~d ~Y ~T")) "~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 (for-each (match-lambda
((name version output location _) ((name version output location _)
(format #t " ~a\t~a\t~a\t~a~%" (format #t " ~a\t~a\t~a\t~a~%"

View File

@ -119,6 +119,9 @@ then
test "`readlink_base "$profile"`" = "$profile-1-link" test "`readlink_base "$profile"`" = "$profile-1-link"
test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" 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. # Roll-back to generation 0, and install---all at once.
guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap
test "`readlink_base "$profile"`" = "$profile-1-link" test "`readlink_base "$profile"`" = "$profile-1-link"