1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

refresh: Allow specifying a partial version via the version specification.

* guix/scripts/refresh.scm (update-specification->update-spec): Flag the
update-spec as partial when it is prefixed with '~'.
* tests/guix-refresh.sh: Test it.  Remove extraneous 'guix refresh'
invocation.
* doc/guix.texi (Invoking guix refresh): Document it.

Change-Id: Iab4482d9367105f6ffcd2d6a49148736c93d53e4
Reviewed-by: Florian Pelz <pelzflorian@pelzflorian.de>
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Maxim Cournoyer
2025-05-17 14:36:40 +09:00
parent ba540ca7dd
commit 271a8fc249
3 changed files with 34 additions and 3 deletions

View File

@@ -15148,6 +15148,17 @@ gnu/packages/qt.scm:1472:13: qtdeclarative would be upgraded from 5.15.8 to 5.15
gnu/packages/qt.scm:452:13: qtbase would be upgraded from 5.15.8 to 5.15.10
@end example
@cindex partial version specification, guix refresh
A per-package equivalent to --target-version is made available by
prefixing the version specification with the @samp{~} (tilde) character.
For example:
@example
$ guix refresh bash=~5 guile=~3
gnu/packages/guile.scm:354:13: guile would be upgraded from 3.0.9 to 3.0.10
gnu/packages/bash.scm:150:15: bash would be upgraded from 5.1.16 to 5.2.37
@end example
Sometimes the upstream name differs from the package name used in Guix,
and @command{guix refresh} needs a little help. Most updaters honor the
@code{upstream-name} property in package definitions, which can be used