diff options
author | Brice Waegeneire <brice@waegenei.re> | 2021-01-30 21:46:57 +0100 |
---|---|---|
committer | Brice Waegeneire <brice@waegenei.re> | 2021-03-09 06:56:17 +0100 |
commit | 236a88294295e7ec6f7463ae7fae246aac0e6162 (patch) | |
tree | a9d7f49d70fc4d52fe3632559401468f1ff93e28 /guix | |
parent | df138dc20858725b90ed77be85f3318cbe1be73a (diff) |
scripts: system: Activate system when switching generations.
Fixes <https://bugs.gnu.org/38884>.
* guix/scripts/system.scm (switch-to-system-generation): Load the
activate script for that generation.
squash! scripts: system: Activate system when switching generations.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/scripts/system.scm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index e3cf99acc6..c226f08371 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -363,11 +364,14 @@ connection to the store." "Switch the system profile to the generation specified by SPEC, and re-install bootloader with a configuration file that uses the specified system generation as its default entry. STORE is an open connection to the store." - (let ((number (relative-generation-spec->number %system-profile spec))) + (let* ((number (relative-generation-spec->number %system-profile spec)) + (generation (generation-file-name %system-profile number)) + (activate (string-append generation "/activate"))) (if number (begin (reinstall-bootloader store number) - (switch-to-generation* %system-profile number)) + (switch-to-generation* %system-profile number) + (unless-file-not-found (primitive-load activate))) (leave (G_ "cannot switch to system generation '~a'~%") spec)))) (define* (system-bootloader-name #:optional (system %system-profile)) |