GNU bug report logs - #41785
[PATCH] DRAFT services: Add 'hurd-in-vm service-type'.

Previous Next

Package: guix-patches;

Reported by: "Jan (janneke) Nieuwenhuizen" <janneke <at> gnu.org>

Date: Wed, 10 Jun 2020 08:55:02 UTC

Severity: normal

Tags: patch

Done: Jan Nieuwenhuizen <janneke <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 41785 <at> debbugs.gnu.org
Subject: [bug#41785] [PATCH v4] services: Add 'hurd-in-vm service-type'.
Date: Sun, 14 Jun 2020 17:52:19 +0200
> (define (hurd-multiboot-modules os)
> ...
>          (libc (if target
>                    (with-parameters ((%current-target-system #f))
>                      ;; TODO: cross-libc has extra patches for the Hurd;
>                      ;; remove in next rebuild cycle
>                      (cross-libc target))
>                    glibc))
>
> we take the ELSE branch here -- and that does not work.  AIUI, this is
> really a temporary kludge until the next rebuild cycle we can move some
> hurd-specific glibc patches from cross-libc to glibc-proper.

Oh, I know why! In "system-image", there are a few calls, in the first
let, that are outside the "with-parameters", in particular "bootcfg"
which triggers the problem you are describing above.

Maybe something as naive as:

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 1bda25fd7f..8a3c4e22d9 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -525,14 +525,14 @@ it can be used for bootloading."
 image, depending on IMAGE format."
   (define substitutable? (image-substitutable? image))
 
-  (let* ((os (operating-system-for-image image))
-         (image* (image-with-os image os))
-         (target (image-target image))
-         (register-closures? (has-guix-service-type? os))
-         (bootcfg (operating-system-bootcfg os))
-         (bootloader (bootloader-configuration-bootloader
-                      (operating-system-bootloader os))))
-    (with-parameters ((%current-target-system target))
+  (with-parameters ((%current-target-system target))
+    (let* ((os (operating-system-for-image image))
+           (image* (image-with-os image os))
+           (target (image-target image))
+           (register-closures? (has-guix-service-type? os))
+           (bootcfg (operating-system-bootcfg os))
+           (bootloader (bootloader-configuration-bootloader
+                        (operating-system-bootloader os))))
--8<---------------cut here---------------end--------------->8---

would do the trick.

Thanks,

Mathieu




This bug report was last modified 4 years and 342 days ago.

Previous Next


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