GNU bug report logs - #41541
merge wip-hurd-vm

Previous Next

Package: guix-patches;

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

Date: Tue, 26 May 2020 14:22:02 UTC

Severity: normal

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

Bug is archived. No further changes may be made.

Full log


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

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41541 <at> debbugs.gnu.org, Mathieu Othacehe <othacehe <at> gnu.org>
Subject: Re: bug#41541: merge wip-hurd-vm
Date: Thu, 04 Jun 2020 13:33:55 +0200
Ludovic Courtès writes:

Hello!

> Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:
>
>> --- a/gnu/packages/hurd.scm
>> +++ b/gnu/packages/hurd.scm

[...]

>> +               (substitute* "hurd/paths.h"
>> +                 (("_HURD_STARTUP\t")
>> +                  (string-append "_HURD_STARTUP\t\"" out "\" "))
>> +                 (("_HURD_PROC\t")
>> +                  (string-append "_HURD_PROC\t\"" out "\" "))
>> +                 (("_HURD_AUTH\t")
>> +                  (string-append "_HURD_AUTH\t\"" out "\" ")))
>>                 (substitute* '("daemons/runsystem.sh"
>>                                "sutils/MAKEDEV.sh")
>>                   (("^PATH=.*")
>>
>> produces a bootable VM.  So...this could be great or maybe...well, what
>> do you think?
>
> As discussed on IRC, I wonder if changing <hurd/paths.h> is a good idea
> because it’s captured by libc, etc.

Thank you for explaining it on IRC and stating it so clearly here again;
this really helped me!

> So it could have the effect of
> forcing all the applications to refer to /gnu/store/…-old-hurd instead
> of using the (typically more up-to-date) /hurd.
>
> It could also lead to setting /gnu/store/…-old-hurd as passive
> translator settings, which would be very bad because
> /gnu/store/…-old-hurd could be GC’d (the GC doesn’t scan passive
> translator settings and probably never will).

Ah...right.  As discussed on IRC, I already tried only using a fixed
file-name for _HURD_STARTUP (out + "/hurd/startup"); which worked.

So, after digesting your message here I took the next step: grep for
_HURD_STARTUP and change it there, like so

diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 421783eb80..8c73ea8430 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -428,9 +428,10 @@ exec ${system}/rc \"$@\"
                               "startup/startup.c")
                  (("/hurd/")
                   (string-append out "/hurd/")))
-               (substitute* "hurd/paths.h"
-                 (("_HURD_STARTUP\t")
-                  (string-append "_HURD_STARTUP\t\"" out "\" ")))
+               (substitute* '("libdiskfs/boot-start.c"
+                              "libdiskfs/opts-std-startup.c")
+                 (("_HURD_STARTUP")
+                  (string-append "\"" out "/hurd/startup\"")))

This also works, and so I figure we're fine now.  I'm resetting
wip-hurd-vm and, like Mathieu suggested will prepare to send send a
patch series here for the unreviewed subset of patches.

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




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

Previous Next


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