Subject: bug#41541: merge wip-hurd-vm

From: Ludovic Courtès <[email-masked]>
Date: Thu, 04 Jun 2020 11:32:14 +0200

Hi!

Jan Nieuwenhuizen <[email-masked]> skribis:

> --- a/gnu/packages/hurd.scm
> +++ b/gnu/packages/hurd.scm
> @@ -390,6 +390,8 @@ PATH=@PATH@
>  
>  fsck --yes --force /
>  fsysopts / --writable
> +
> +# Note: this /hurd/ gets substituted
>  settrans -c /servers/socket/1 /hurd/pflocal
>  
>  # parse multiboot arguments
> @@ -421,9 +423,18 @@ exec ${system}/rc \"$@\"
>                 (substitute* '("utils/uptime.sh")
>                   (("/bin/w")
>                    (string-append out "/bin/w")))
> -               (substitute* "daemons/console-run.c"
> +               (substitute* '("boot/boot.c"
> +                              "daemons/console-run.c"
> +                              "startup/startup.c")
>                   (("/hurd/")
>                    (string-append out "/hurd/")))
> +               (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.  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).

Thanks,
Ludo’.