Subject: [bug#77943] [PATCH 1/2] services: shepherd: Provide the right #:kernel-log-file on the Hurd.

From: [email-masked]
Date: Mon, 2 Jun 2025 16:35:42 +0200 (CEST)

Hi Ludo,

I am a bit late to this:

Does it still make sense to duplicate the default kernel-log-file in guix and shepherd now that 1.0.5 is available?

The issue with ED_WOULD_BLOCK is still present on hurd-0.9.git20250420 on core-packages-team. 
I tried it for a while with #:kernel-log-file set to #f and it felt like it was slowing down shepherd significantly enough to be mildly annoying but idk if this is something I only noticed because I was actively looking for changes.

Apr 20, 2025, 15:54 by [email-masked]:

> * gnu/services/shepherd.scm (shepherd-system-log-service-type):
> Pass #:kernel-log-file.
>
> Reported-by: Yelninei <[email-masked]>
> Change-Id: I6f7a4b4e8e69a116069886e3879400d600645b30
> ---
> gnu/services/shepherd.scm | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
> index c8e01c9d83..156a36c2da 100644
> --- a/gnu/services/shepherd.scm
> +++ b/gnu/services/shepherd.scm
> @@ -781,6 +781,15 @@ (define shepherd-system-log-service-type
> (#f #~())
> (value #~(#:message-destination #$value)))
>
> +                               ;; The Shepherd <= 1.0.4 chooses /proc/kmsg
> +                               ;; unconditionally.  Fix that.
> +                               #:kernel-log-file
> +                               (cond ((string-contains %host-type "linux") ;Linux
> +                                      "/proc/kmsg")
> +                                     ((string-suffix? "-gnu" %host-type) ;GNU/Hurd
> +                                      "/dev/klog")
> +                                     (else #f))
> +
> #:date-format #$date-format
> #:history-size #$history-size
> #:max-silent-time #$max-silent-time)))))
> --
> 2.49.0
>