diff mbox series

[bug#69092,v2] machine/ssh: Refresh parameterization of %CURRENT-SYSTEM.

Message ID 20240213105213.9508-2-rekado@elephly.net
State New
Headers show
Series [bug#69092,v2] machine/ssh: Refresh parameterization of %CURRENT-SYSTEM. | expand

Commit Message

Ricardo Wurmus Feb. 13, 2024, 10:50 a.m. UTC
The inversion actually didn't help.  For some reason, the effect of
PARAMETERIZE is lost.  With the patch below I can deploy to the
i686-linux laptop from my x86_64-linux machine again.


From 0a37481608e4ec02c96ef9b54a417bade55528da Mon Sep 17 00:00:00 2001
Message-ID: <0a37481608e4ec02c96ef9b54a417bade55528da.1707821400.git.rekado@elephly.net>
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 12 Feb 2024 23:45:54 +0100
Subject: [PATCH v2] 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
---
 gnu/machine/ssh.scm | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)


base-commit: bb4f0509b7cce750fc944e604aa919ea89910ea7
prerequisite-patch-id: 94eb24b4353a5dec691918e2258cab6f0873fd98
prerequisite-patch-id: d9e728fe0e2597792f468fea405c04845b31bc75
prerequisite-patch-id: a4c47cb27daff30f775243af50a8ae9d8af0300e
prerequisite-patch-id: 7258bad0bbb2065c66be06c685d6dd237d8d0670
prerequisite-patch-id: 2bc8562f64bd31a92045dabeb0e9749eadb1b562
prerequisite-patch-id: fadcf73ca0278af9f58f5bd2ddb6b1ad1b223dc3
prerequisite-patch-id: d1f94c163297151b41e6febed26f5833cd1b2ea8
prerequisite-patch-id: 9a9328cc3a35f5a8903f43e164749a62d48d697e
prerequisite-patch-id: f1e33c0ea08b372c33edbcacc750c74897e0b5ab
diff mbox series

Patch

diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index b5984dc732..b47ce7c225 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -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,22 +538,24 @@  (define (deploy-managed-host machine)
                                         host
                                         (inferior-exception-arguments c))))
                               os))
-          (with-roll-back #t
-            (mbegin %store-monad
-              (upgrade-shepherd-services (eval/error-handling c
-                                           (warning (G_ "\
+          (parameterize ((%current-system system)
+                         (%current-target-system #f))
+            (with-roll-back #t
+              (mbegin %store-monad
+                (upgrade-shepherd-services (eval/error-handling c
+                                             (warning (G_ "\
 an error occurred while upgrading services on '~a':~%~{~s ~}~%")
-                                                    host
-                                                    (inferior-exception-arguments
-                                                     c)))
-                                         os)
-              (install-bootloader (eval/error-handling c
-                                    (raise (formatted-message
-                                            (G_ "\
+                                                      host
+                                                      (inferior-exception-arguments
+                                                       c)))
+                                           os)
+                (install-bootloader (eval/error-handling c
+                                      (raise (formatted-message
+                                              (G_ "\
 failed to install bootloader on '~a':~%~{~s ~}~%")
-                                            host
-                                            (inferior-exception-arguments c))))
-                                  bootloader-configuration bootcfg))))))))
+                                              host
+                                              (inferior-exception-arguments c))))
+                                    bootloader-configuration bootcfg)))))))))
 
 
 ;;;