Subject: Re: [bug#41785] [PATCH v4] services: Add 'hurd-in-vm service-type'.
From: Jan Nieuwenhuizen <[email-masked]>
To: Mathieu Othacehe <[email-masked]>
Cc: Ludovic Courtès <[email-masked]>, [email-masked]
Date: Sun, 14 Jun 2020 18:42:10 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Mathieu Othacehe writes:

>> (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.

Ah, yes that makes sense.

> Maybe something as naive as:
>
> diff --git a/gnu/system/image.scm b/gnu/system/image.scm

[..]
> -  (let* ((os (operating-system-for-image image))
[..]
> -    (with-parameters ((%current-target-system target))
> +  (with-parameters ((%current-target-system target))
> +    (let* ((os (operating-system-for-image image))
>
> would do the trick.

It does!

> I went ahead and pushed a variant of this as
> c9f6e2e5bdff186583bdc360832b57f4c56e3427.

Woohoo!  I remove the with-parameters in hurd-vm-disk-image and pushed
to master 5e9cf93364d87c70f8bfad915417cd75d21c0fed

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com