Subject: bug#43533: guix-daemon fails to start in Childhurd

From: Jan Nieuwenhuizen <[email-masked]>
Date: Sun, 20 Sep 2020 17:05:37 +0200

Hi!

On current master (6feb7a2107000f9ded547543dcda9d64402c6081), the
shepherd in a Childhurd fails to start the guix-daemon.  It does start
when invoked manually, using the same arguments *)

The culprit seems to be the usage of fork+exec-command/container:
After applying this patch

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index d560ad5a13..98a8d2abca 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1570,7 +1570,7 @@ proxy of 'guix-daemon'...~%")
                     ;; the 'set-http-proxy' action.
                     (or (getenv "http_proxy") #$http-proxy))
 
-                  (fork+exec-command/container
+                  (fork+exec-command
                    (cons* #$(file-append guix "/bin/guix-daemon")
                           "--build-users-group" #$build-group
                           "--max-silent-time"
--8<---------------cut here---------------end--------------->8---

a Hurd VM built with

--8<---------------cut here---------------start------------->8---
    ./pre-inst-env guix system disk-image --target=i586-pc-gnu gnu/system/examples/bare-hurd.tmpl
--8<---------------cut here---------------end--------------->8---

has the shepherd starting the guix-daemon fine.

I found that the /container bit was added in

    8ce6f4dc2879919c12bc76a2f4b01200af97e019
    installer: Run the installation inside a container.

...but I don't find the commit message quite clear about its intention
to *always* run guix-daemon in a container; it could be read as
sugessting to do so only during installation?

How to proceed reverting this container feature for the Hurd?

Greetings,
Janneke

*) For the Hurd that currently is something like:
   GUIX_LOCPATH=/gnu/store/z7a6sbvqzb5zapwpznmjkq2rsxil6i67-glibc-utf8-locales-2.31/lib/locale\
   LC_ALL=en_US.utf8\
   guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0
      --log-compression bzip2 --substitute-urls https://ci.guix.gnu.org
      --disable-chroot --disable-deduplication

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