From e92be23837c8b0c7616aee8d8766f4d2d6a403dd Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 15 Sep 2025 16:33:07 +0900 Subject: [PATCH] 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 --- doc/guix.texi | 8 ++++++++ guix/scripts/refresh.scm | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index cad210d2930..86b6aec2bbf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index a302960da3c..65654863cc7 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -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)