Subject: [bug#77943] [PATCH 0/2] Using the Shepherd's system log on the Hurd

From: Ludovic Courtès <[email-masked]>
Date: Sun, 20 Apr 2025 17:52:37 +0200

Hello!

This changes the Hurd to use the Shepherd’s system log instead of
syslogd from Inetutils, as is already the case on Linux.  I wanted
to try now that Yelninei and I have addressed most of the issues
they reported in this area: <https://issues.guix.gnu.org/77634>.

It works, but maybe we should hold on a bit though, because of this:

--8<---------------cut here---------------start------------->8---
shepherd[1]: GNU Shepherd 1.0.4 (Guile 3.0.9, i586-pc-gnu)
shepherd[1]: Starting service root...
[…]
shepherd[1]: Service root-file-system running with value #t.
shepherd[1]: Service root-file-system has been started.
Uncaught exception in task:
In fibers.scm:
    172:8  7 (_)
In shepherd/service/system-log.scm:
    240:7  6 (run-system-log #<<channel> getq: #<atomic-box 33088d0?> ?)
In ice-9/suspendable-ports.scm:
   681:11  5 (read-delimited _ _ _)
    613:2  4 (read-char _)
   184:27  3 (fill-input #<input: /dev/klog 44> _ _)
     72:4  2 (read-bytes #<input: /dev/klog 44> #vu8(51 98 120 121 ?) ?)
In unknown file:
           1 (port-read #<input: /dev/klog 44> #vu8(51 98 120 121 ?) ?)
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure fport_read: (os/device) operation would block
--8<---------------cut here---------------end--------------->8---

It’s non-fatal but I think everything going to /dev/log after that
is dismissed—IOW, the system log doesn’t log anything.  There’s also
the "\0" sender that appears in /var/log/messages: it works, but it’s
not nice.

I reported it on bug-hurd and hopefully it has an easy solution.

Ludovic Courtès (2):
  services: shepherd: Provide the right #:kernel-log-file on the Hurd.
  system: hurd: Switch to the Shepherd’s system log.

 gnu/services/shepherd.scm | 9 +++++++++
 gnu/system/hurd.scm       | 4 ++--
 2 files changed, 11 insertions(+), 2 deletions(-)

base-commit: d14663b94a7428eccbfa27aa620dc3d8ba67d752
-- 
2.49.0