machine/ssh: Refresh parameterization of %CURRENT-SYSTEM.

When using "guix deploy" on an x86_64-linux machine to deploy a system to
i686-linux, DEPLOY-MANAGED-HOST would revert %CURRENT-SYSTEM to the host
system's value by the time it evaluated UPGRADE-SHEPHERD-SERVICES.  The
earlier PARAMETERIZE would no longer be effective.

* gnu/machine/ssh.scm (deploy-managed-host): Ensure that
UPGRADE-SHEPHERD-SERVICES is evaluated for the architecture of the target
machine.

Change-Id: I0816da79cd7c46a69418717fa33b2fe4e2fabae0
This commit is contained in:
Ricardo Wurmus 2024-02-12 23:45:54 +01:00
parent 052ef14521
commit 9ce548a26e
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024 Ricardo <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -537,6 +538,8 @@ (define-syntax-rule (eval/error-handling condition handler ...)
host
(inferior-exception-arguments c))))
os))
(parameterize ((%current-system system)
(%current-target-system #f))
(with-roll-back #t
(mbegin %store-monad
(upgrade-shepherd-services (eval/error-handling c
@ -552,7 +555,7 @@ (define-syntax-rule (eval/error-handling condition handler ...)
failed to install bootloader on '~a':~%~{~s ~}~%")
host
(inferior-exception-arguments c))))
bootloader-configuration bootcfg))))))))
bootloader-configuration bootcfg)))))))))
;;;