scripts: Honor --target-version in every situation.

* guix/scripts/refresh.scm (options->update-specs): Always honor
--target-version.
* doc/guix.texi (Invoking guix refresh): Add an example showing how this can
be useful.

Change-Id: I55f98c88f4b583f65dd85a6d3573f9bc87a1dead
This commit is contained in:
Maxim Cournoyer 2025-09-15 16:33:07 +09:00
parent 1010f3fa87
commit 60443a6e31
No known key found for this signature in database
GPG key ID: 1260E46482E63562
2 changed files with 12 additions and 1 deletions

View file

@ -15237,6 +15237,14 @@ gnu/packages/qt.scm:2070:13: qtquickcontrols2 would be upgraded from 5.15.8 to 5
@dots{}
@end example
@example
$ guix refresh -s module:kde-plasma --target-version=6.3.6
[@dots{}] plasma-systemmonitor would be upgraded from 6.3.4 to 6.3.6
[@dots{}] plasma-workspace-wallpapers would be upgraded from 6.3.4 to 6.3.6
[@dots{}] plasma-browser-integration would be upgraded from 6.3.4 to 6.3.6
@dots{}
@end example
@cindex partial target version, guix refresh
The @option{--target-version} option accepts partial version prefixes,
which can be useful to update to the latest major or major-minor

View file

@ -306,7 +306,10 @@ update would trigger a complete rebuild."
(list (resolve-interface mod)))
(_ (all-modules (%package-module-path)
#:warn
warn-about-load-error)))))
warn-about-load-error))))
(update-spec (if target-version
(cut update-spec <> target-version #t)
update-spec)))
(map update-spec
(fold-packages (lambda (package result)
(if (select? package)