guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#69092] [PATCH] machine/ssh: Invert WITH-ROLL-BACK and MBEGIN.


From: Ricardo Wurmus
Subject: [bug#69092] [PATCH] machine/ssh: Invert WITH-ROLL-BACK and MBEGIN.
Date: Mon, 12 Feb 2024 23:50:39 +0100

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.

Turning the expression inside out solves the problem as the monadic expression
introduced with MBEGIN retains the %CURRENT-SYSTEM parameter.

* 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 | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index b5984dc732..011d197917 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,8 +538,8 @@ (define (deploy-managed-host machine)
                                         host
                                         (inferior-exception-arguments c))))
                               os))
-          (with-roll-back #t
-            (mbegin %store-monad
+          (mbegin %store-monad
+            (with-roll-back #t
               (upgrade-shepherd-services (eval/error-handling c
                                            (warning (G_ "\
 an error occurred while upgrading services on '~a':~%~{~s ~}~%")

base-commit: bb4f0509b7cce750fc944e604aa919ea89910ea7
-- 
2.41.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]