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

Previous Next

Package: guix-patches;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Tue, 13 Feb 2024 02:52:02 UTC

Severity: normal

Tags: patch

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69092 in the body.
You can then email your comments to 69092 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#69092; Package guix-patches. (Tue, 13 Feb 2024 02:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 13 Feb 2024 02:52:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: guix-patches <at> gnu.org
Cc: Ricardo Wurmus <rekado <at> elephly.net>
Subject: [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 <at> sdf.org>
 ;;; Copyright © 2020-2023 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2024 Ricardo <rekado <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#69092; Package guix-patches. (Tue, 13 Feb 2024 10:54:02 GMT) Full text and rfc822 format available.

Message #8 received at 69092 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 69092 <at> debbugs.gnu.org
Cc: Ricardo Wurmus <rekado <at> elephly.net>
Subject: [PATCH v2] machine/ssh: Refresh parameterization of %CURRENT-SYSTEM.
Date: Tue, 13 Feb 2024 11:50:02 +0100
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 <at> elephly.net>
From: Ricardo Wurmus <rekado <at> 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(-)

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 <at> sdf.org>
 ;;; Copyright © 2020-2023 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2024 Ricardo <rekado <at> 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)))))))))
 
 
 ;;;

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
-- 
2.41.0





Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Tue, 20 Feb 2024 13:51:01 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Tue, 20 Feb 2024 13:51:01 GMT) Full text and rfc822 format available.

Message #13 received at 69092-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 69092-done <at> debbugs.gnu.org
Subject: [PATCH] machine/ssh: Invert WITH-ROLL-BACK and MBEGIN.
Date: Tue, 20 Feb 2024 14:48:55 +0100
I’ve pushed the v2 of this patch to work around this problem for now,
but it is not a satisfying conclusion.

-- 
Ricardo




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 20 Mar 2024 11:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 87 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.