summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyril Roelandt <tipecaml@gmail.com>2013-04-15 23:23:27 +0200
committerCyril Roelandt <tipecaml@gmail.com>2013-04-16 23:12:29 +0200
commitacb6ba256703da1db1d300541e15a4e7428f622b (patch)
tree0ab133d0b20bf051cfa43e099a88211b1a846e7a
parent0160536dcb5399ad7d80b10e064df5c95f3adb4f (diff)
package: allow users to upgrade the whole system by not providing a regexp.
* guix/scripts/packages.scm (guix-package) [process-actions]: When upgrading, use "" when REGEXP is #f. * doc/guix.texi: update the documentation accordingly.
-rw-r--r--doc/guix.texi7
-rw-r--r--guix/scripts/package.scm6
2 files changed, 7 insertions, 6 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c91bc2021d..b77335d2c2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -537,9 +537,10 @@ multiple-output package.
@itemx -r @var{package}
Remove @var{package}.
-@item --upgrade=@var{regexp}
-@itemx -u @var{regexp}
-Upgrade all the installed packages matching @var{regexp}.
+@item --upgrade[=@var{regexp}]
+@itemx -u [@var{regexp}]
+Upgrade all the installed packages. When @var{regexp} is specified, upgrade
+only installed packages whose name matches @var{regexp}.
Note that this upgrades package to the latest version of packages found
in the distribution currently installed. To update your distribution,
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index ac99d16497..5b340c6ab7 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -328,7 +328,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(display (_ "
-r, --remove=PACKAGE remove PACKAGE"))
(display (_ "
- -u, --upgrade=REGEXP upgrade all the installed packages matching REGEXP"))
+ -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP"))
(display (_ "
--roll-back roll back to the previous generation"))
(newline)
@@ -379,7 +379,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(option '(#\r "remove") #t #f
(lambda (opt name arg result)
(alist-cons 'remove arg result)))
- (option '(#\u "upgrade") #t #f
+ (option '(#\u "upgrade") #f #t
(lambda (opt name arg result)
(alist-cons 'upgrade arg result)))
(option '("roll-back") #f #f
@@ -602,7 +602,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(let* ((installed (manifest-packages (profile-manifest profile)))
(upgrade-regexps (filter-map (match-lambda
(('upgrade . regexp)
- (make-regexp regexp))
+ (make-regexp (or regexp "")))
(_ #f))
opts))
(upgrade (if (null? upgrade-regexps)