refresh: Add '--expression'.

* guix/scripts/refresh.scm (%options, show-help): Add --expression.
(guix-refresh): Honor it.
* doc/guix.texi (Invoking guix refresh): Document it.
master
Ludovic Courtès 2015-11-23 17:47:22 +01:00
parent 160b0ef3fd
commit 2d7fc7daf1
2 changed files with 20 additions and 0 deletions

View File

@ -4277,6 +4277,19 @@ The following options are supported:
@table @code @table @code
@item --expression=@var{expr}
@itemx -e @var{expr}
Consider the package @var{expr} evaluates to.
This is useful to precisely refer to a package, as in this example:
@example
guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'
@end example
This command lists the dependents of the ``final'' libc (essentially all
the packages.)
@item --update @item --update
@itemx -u @itemx -u
Update distribution source files (package recipes) in place. This is Update distribution source files (package recipes) in place. This is

View File

@ -80,6 +80,9 @@
(option '(#\L "list-updaters") #f #f (option '(#\L "list-updaters") #f #f
(lambda args (lambda args
(list-updaters-and-exit))) (list-updaters-and-exit)))
(option '(#\e "expression") #t #f
(lambda (opt name arg result)
(alist-cons 'expression arg result)))
(option '(#\l "list-dependent") #f #f (option '(#\l "list-dependent") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'list-dependent? #t result))) (alist-cons 'list-dependent? #t result)))
@ -115,6 +118,8 @@ Update package definitions to match the latest upstream version.
When PACKAGE... is given, update only the specified packages. Otherwise When PACKAGE... is given, update only the specified packages. Otherwise
update all the packages of the distribution, or the subset thereof update all the packages of the distribution, or the subset thereof
specified with `--select'.\n")) specified with `--select'.\n"))
(display (_ "
-e, --expression=EXPR consider the package EXPR evaluates to"))
(display (_ " (display (_ "
-u, --update update source files in place")) -u, --update update source files in place"))
(display (_ " (display (_ "
@ -348,6 +353,8 @@ update would trigger a complete rebuild."
;; Take either the specified version or the ;; Take either the specified version or the
;; latest one. ;; latest one.
(specification->package spec)) (specification->package spec))
(('expression . exp)
(read/eval-package-expression exp))
(_ #f)) (_ #f))
opts) opts)
(() ; default to all packages (() ; default to all packages