Hello,

Apr 19, 2025, 20:42 by l...@gnu.org:

> Hi again,
>
> yelni...@tutamail.com writes:
>
>> Some minor other things:
>> -  Currently the NULL byte from the sender is added into the log
>> message, might be worth filtering out
>> - "herd status syslogd" does not show the endpoints and
>> kernel-log-file the syslog is reading from
>> - the shepherd package from the shepherd channel in
>> 'set-fibers-directory sets fibers ccache dir also to the fibers source
>> dir
>> - I am unable to cross compile shepehrd from git with guix because of 
>> help2man
>> - the guix shepherd-syslog service currently does not expose setting
>> the endpoints and kernel-log-file (currently on my childhurd this
>> would be /dev/klog instead of /dev/kmsg)
>>
>
> All good points!  Most of these are now fixed on the Shepherd side:
>
> 48e53a4 guix: Record the right Fibers .go file directory.
> 98878a7 system-log: Serialize information about sockets and the kernel log 
> file.
> be57f65 system-log: Close input file on end-of-file.
> 21bd4ec system-log: Print “localhost” for messages received over AF_UNIX 
> sockets.
> 1ad90aa system-log: Read kernel messages from /dev/klog on the Hurd.
>

Great, thanks.

The last thing that still needs fixing is the message-destination procedure in 
the system-log.sh test. Currently It sends all messages to the 
$syslog_remote_file if the message has a sender, but arguably the (null) 
AF_UNIX sockets are not remote.

After I changed that I was able to finally build shepherd with all non skipped 
tests passing.

I then tried the shepherd syslogd on the childhurd but some things were not 
quite right:
- the /dev/klog messages are being logged but were missing the %kernel-prefix, 
i dont think this is a  problem with shepherd.
- I saw no syslog messages in /var/log/messages, i.e. from sshd or a user 
shepherd logging to syslog. It just seems to stop logging to the main log file 
entirely after finishing with /dev/klog.
Any ideas?

> Regarding cross-compilation, here’s a protip:
>
> guix build -L $PWD/.guix/modules shepherd@1.0.99-tarball \
> --target=i586-pc-gnu
>
> It works because it first builds the tarball, which includes
> pre-generated man pages, and then uses it as the source of the Shepherd
> being cross-compiled.
>
This even works in the childhurd operating system record and I can just use 
that package instead of the manual "make dist" and  source override I did 
before.

> Thanks a lot for the detailed bug reports and suggestions; it’s much
> appreciated!
>

Thank you for making shepherd very approachable. I had no issues understanding 
how the syslog service is supposed to work and hunt down the bug.


> Ludo’.
>




Reply via email to