unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: 63943@debbugs.gnu.org
Cc: Josselin Poiret <dev@jpoiret.xyz>,
	Janneke Nieuwenhuizen <janneke@gnu.org>
Subject: [bug#63943] The Shepherd on GNU/Hurd
Date: Wed, 07 Jun 2023 11:40:04 +0200	[thread overview]
Message-ID: <87fs73626j.fsf@gnu.org> (raw)
In-Reply-To: <cover.1686126946.git.ludo@gnu.org> ("Ludovic Courtès"'s message of "Wed, 7 Jun 2023 10:39:36 +0200")

[-- Attachment #1: Type: text/plain, Size: 1337 bytes --]

Ludovic Courtès <ludo@gnu.org> skribis:

> To me it’s important so we can upgrade the Shepherd in use on GNU/Hurd
> (it’s still stuck at 0.8 because so far Fibers lacked support for
> non-Linux systems), which in turn means we can use the newer Shepherd
> APIs in its config file.  Unfortunately, while shepherd cross-builds
> and runs on GNU/Hurd, I’m not confident it “works”.  I’ll write more
> in a separate message.

The patch I ended up not including in this series is use of current
Shepherd on GNU/Hurd (attached).

Problems that I see are:

  • ‘networking’ gets stuck in ‘starting’ state.  My guess is that it
    uses ‘system*’ (the replacement provided by shepherd) and that one
    does not return because we never get SIGCHLD.

  • (@ (ice-9 threads) all-threads) says there are two threads.  That
    was already the case with 0.8, but it’s no good.

Also, I haven’t tried to run the Shepherd’s test suite natively on
GNU/Hurd; I’m sure it’d uncover problems.

Overall, I’m pessimistic about signal handling without ‘signalfd’.  We
could try to get shepherd to kinda work without ‘signalfd’ (we could
even test that code path on GNU/Linux), but that’s going to be brittle
as we can already see.

What d’ya think, comrades?

Ludo’.



[-- Attachment #2: Type: text/x-patch, Size: 1605 bytes --]

diff --git a/gnu/system.scm b/gnu/system.scm
index 354f58f55b..5c4c045e28 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -804,9 +804,7 @@ (define (hurd-default-essential-services os)
           %boot-service
           %hurd-startup-service
           %activation-service
-          (service shepherd-root-service-type
-                   (shepherd-configuration
-                    (shepherd shepherd-0.8)))     ;no Fibers
+          (service shepherd-root-service-type)
 
           (service user-processes-service-type)
           (account-service (append (operating-system-accounts os)
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 558d1ee9e3..0aa473fd42 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -68,7 +68,7 @@ (define %base-packages/hurd
   ;; Note: the Shepherd comes before the Hurd, not just because its duty is to
   ;; shepherd the herd, but also because we want its 'halt' and 'reboot'
   ;; commands to take precedence.
-  (list shepherd-0.8 hurd bash coreutils file findutils grep sed
+  (list shepherd-0.10 hurd bash coreutils file findutils grep sed
         diffutils patch gawk tar gzip bzip2 xz lzip
         guile-3.0-latest guile-colorized guile-readline
         net-base inetutils less shadow sudo which

  parent reply	other threads:[~2023-06-07  9:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07  8:39 [bug#63943] [PATCH 0/5] Update Fibers to 1.3.1 Ludovic Courtès
2023-06-07  8:38 ` [bug#63942] [PATCH 1/5] gnu: guile-fibers: Add 1.3.1 Ludovic Courtès
2023-06-07  8:41 ` [bug#63943] [PATCH 2/5] gnu: shepherd@0.10: Use guile-fibers 1.3.1 Ludovic Courtès
2023-06-07  8:41 ` [bug#63943] [PATCH 3/5] gnu: cuirass: " Ludovic Courtès
2023-06-07  8:41 ` [bug#63943] [PATCH 4/5] gnu: guile-fibers: Remove 'guile-fibers-next' Ludovic Courtès
2023-06-07  8:41 ` [bug#63943] [PATCH 5/5] gnu: gnunet-scheme: Use guile-fibers 1.3.1 Ludovic Courtès
2023-06-07  9:40 ` Ludovic Courtès [this message]
2023-06-07 10:34   ` [bug#63943] The Shepherd on GNU/Hurd Janneke Nieuwenhuizen
2023-06-08 11:45     ` Janneke Nieuwenhuizen
2023-06-10 12:23 ` [bug#63943] [PATCH 0/5] Update Fibers to 1.3.1 Christopher Baines
2023-06-14 21:50   ` bug#63943: " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fs73626j.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=63943@debbugs.gnu.org \
    --cc=dev@jpoiret.xyz \
    --cc=janneke@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).