guix package: Do not list the zeroth generation.

* guix/scripts/package.scm (guix-package)[process-query]: Change
  'list-generation' to not list the zeroth generation.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it, and use the
  right term when talking about generations.
This commit is contained in:
Nikita Karetnikov 2013-09-24 22:18:09 +00:00
parent 0ab212b946
commit 4b2bc804d8
3 changed files with 8 additions and 5 deletions

View File

@ -583,9 +583,8 @@ When combined with options such as @code{--install}, roll back occurs
before any other actions. before any other actions.
When rolling back from the first generation that actually contains When rolling back from the first generation that actually contains
installed packages, the profile is made to point to the @dfn{empty installed packages, the profile is made to point to the @dfn{zeroth
profile}, also known as @dfn{profile zero}---i.e., it contains no files generation}, which contains no files apart from its own meta-data.
apart from its own meta-data.
Installing, removing, or upgrading packages from a generation that has Installing, removing, or upgrading packages from a generation that has
been rolled back to overwrites previous future generations. Thus, the been rolled back to overwrites previous future generations. Thus, the
@ -683,7 +682,8 @@ Multiple Outputs}), and the source location of its definition.
@itemx -l [@var{pattern}] @itemx -l [@var{pattern}]
Return a list of generations along with their creation dates; for each Return a list of generations along with their creation dates; for each
generation, show the installed packages, with the most recently generation, show the installed packages, with the most recently
installed packages shown last. installed packages shown last. Note that the zeroth generation is never
shown.
For each installed package, print the following items, separated by For each installed package, print the following items, separated by
tabs: the name of a package, its version string, the part of the package tabs: the name of a package, its version string, the part of the package

View File

@ -955,7 +955,7 @@ more information.~%"))
(match (assoc-ref opts 'query) (match (assoc-ref opts 'query)
(('list-generations pattern) (('list-generations pattern)
(define (list-generation number) (define (list-generation number)
(begin (unless (zero? number)
(format #t (_ "Generation ~a\t~a~%") number (format #t (_ "Generation ~a\t~a~%") number
(date->string (date->string
(time-utc->date (time-utc->date

View File

@ -111,6 +111,9 @@ then
test "`readlink_base "$profile"`" = "$profile-0-link" test "`readlink_base "$profile"`" = "$profile-0-link"
done done
# Test that '--list-generations' does not output the zeroth generation.
test -z "`guix package -p "$profile" -l 0`"
# Reinstall after roll-back to the empty profile. # Reinstall after roll-back to the empty profile.
guix package --bootstrap -p "$profile" -e "$boot_make" guix package --bootstrap -p "$profile" -e "$boot_make"
test "`readlink_base "$profile"`" = "$profile-1-link" test "`readlink_base "$profile"`" = "$profile-1-link"