GNU bug report logs - #36555
[PATCH 0/2] Refactor out common behavior for system reconfiguration.

Previous Next

Package: guix-patches;

Reported by: zerodaysfordays <at> sdf.lonestar.org (Jakob L. Kreuze)

Date: Mon, 8 Jul 2019 19:53:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: Ludovic Courtès <ludo <at> gnu.org>
To: zerodaysfordays <at> sdf.lonestar.org (Jakob L. Kreuze)
Cc: 36555-done <at> debbugs.gnu.org
Subject: Re: [bug#36555] [PATCH v6 3/3] tests: Add reconfigure system test.
Date: Fri, 26 Jul 2019 18:59:50 +0200
[Message part 1 (text/plain, inline)]
Hi there!

I’ve applied the whole series with the change below.  \o/

Because of the monadic style, the ‘guard’ clause had no effect:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,run-in-store (guard (c (#t 'caught)) (mbegin %store-monad (return 1)(return (raise (condition (&message (message "oh!")))))))
While executing meta-command:
Throw to key `srfi-34' with args `(#<condition &message [message: "oh!"] 1cab2c0>)'.
--8<---------------cut here---------------end--------------->8---

I thought about adding it in some other way, but it turns out not to be
needed at all because error conditions are guarded against in
‘guix-system’.  Hence the patch.

Thank you for the hard work on this series!

I’ll be away from keyboard roughly until August 17th.  Hopefully you can
get feedback from David or Chris, and maybe you can get others on board
as well.  :-)  If my opinion on changes to the core is needed, you can
always push to a separate branch in the meantime.  Anyway, I’m confident!

Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 115da665b4..9fc3a10e98 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -804,19 +804,16 @@ static checks."
             ((reconfigure)
              (newline)
              (format #t (G_ "activating system...~%"))
-             (guard (c ((message-condition? c)
-                        (leave (G_ "failed to reconfigure system:~%~a~%")
-                               (condition-message c))))
-               (mbegin %store-monad
-                 (switch-to-system local-eval os)
-                 (mwhen install-bootloader?
-                   (install-bootloader local-eval bootloader bootcfg
-                                       #:target (or target "/"))
-                   (return
-                    (info (G_ "bootloader successfully installed on '~a'~%")
-                          (bootloader-configuration-target bootloader))))
-                 (with-shepherd-error-handling
-                  (upgrade-shepherd-services local-eval os)))))
+             (mbegin %store-monad
+               (switch-to-system local-eval os)
+               (mwhen install-bootloader?
+                 (install-bootloader local-eval bootloader bootcfg
+                                     #:target (or target "/"))
+                 (return
+                  (info (G_ "bootloader successfully installed on '~a'~%")
+                        (bootloader-configuration-target bootloader))))
+               (with-shepherd-error-handling
+                  (upgrade-shepherd-services local-eval os))))
             ((init)
              (newline)
              (format #t (G_ "initializing operating system under '~a'...~%")

This bug report was last modified 5 years and 272 days ago.

Previous Next


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