guix system: 'reconfigure' disallows downgrades by default.
authorLudovic Courtès <ludo@gnu.org>
Wed, 15 Jul 2020 22:01:17 +0000 (00:01 +0200)
committerLudovic Courtès <ludo@gnu.org>
Wed, 22 Jul 2020 22:22:25 +0000 (00:22 +0200)
commit8e31736b0a60919cc1bfc5dc22c395b09243484a
tree13998cb2b522e4aaea14e23aff1f772a22cd5431
parenta620c9d51d57c8277ec75892c7eee8f9c84fa96f
guix system: 'reconfigure' disallows downgrades by default.

This is similar to what 9744cc7b4636fafb772c94adb8f05961b5b39f16 did for
'guix pull'.

* guix/scripts/system/reconfigure.scm (ensure-forward-reconfigure)
(warn-about-backward-reconfigure, channel-relations)
(check-forward-update): New procedures.
* guix/scripts/system.scm (perform-action): Add #:validate-reconfigure.
Call 'check-forward-update' when ACTION is 'reconfigure.
(%options, show-help): Add "--allow-downgrades".
(%default-options): Add 'validate-reconfigure' key.
(process-action): Pass #:validate-reconfigure to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document 'guix system describe'
more prominently, and document '--allow-downgrades'.
doc/guix.texi
guix/scripts/system.scm
guix/scripts/system/reconfigure.scm