~ruther/guix-local

e92be23837c8b0c7616aee8d8766f4d2d6a403dd — Maxim Cournoyer 8 months ago 3f1c29f
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
2 files changed, 12 insertions(+), 1 deletions(-)

M doc/guix.texi
M guix/scripts/refresh.scm
M doc/guix.texi => doc/guix.texi +8 -0
@@ 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

M guix/scripts/refresh.scm => guix/scripts/refresh.scm +4 -1
@@ 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)