We are glad to announce version 1.0.5 of the Shepherd, the next bug-fix release in the 1.0.x series.
Check out the web site to learn more about the Shepherd 1.0.x series: https://gnu.org/software/shepherd/news/2024/12/the-shepherd-1.0.0-released/ It is also the first release made from its new home at Codeberg: https://codeberg.org/shepherd/shepherd/ • About The Shepherd is a service manager written in Guile that looks after the herd of daemons running on the system. It can be used as an “init” system (PID 1) and also by unprivileged users to manage per-user daemons—e.g., gpg-agent, tor, privoxy. It supports several daemon startup mechanisms, including inetd, systemd-style socket activation, and timers. The Shepherd is configured in Guile Scheme and can be extended in the same language. It builds on a simple memory-safe and callback-free programming model. The Shepherd is developed jointly with the Guix project; it is used as the init system of Guix System and service manager of Guix Home. https://www.gnu.org/software/shepherd/ • Download Here are the compressed sources and a GPG detached signature: https://ftp.gnu.org/gnu/shepherd/shepherd-1.0.5.tar.gz https://ftp.gnu.org/gnu/shepherd/shepherd-1.0.5.tar.gz.sig Here are the SHA1 and SHA256 checksums: 2b222be41b143fe77b9cbccc9dd8062717938d47 shepherd-1.0.5.tar.gz 3c475069a02b49018491e5a5bbab5b7a424d76c7a06bdbf47afd005dc86805f8 shepherd-1.0.5.tar.gz Authenticate the code by downloading the corresponding .sig file: gpg --verify shepherd-1.0.5.tar.gz.sig The signing key can be retrieved with: gpg --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 As a last resort to find the key, you can try the official GNU keyring: wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg gpg --keyring gnu-keyring.gpg --verify shepherd-1.0.5.tar.gz.sig It is bit-for-bit reproducible from a checkout of the ‘v1.0.5’ tag of the Git repository. • Changes since version 1.0.4 ** ‘herd status system-log’ now displays the socket and kernel log file When using the ‘system-log’ service, ‘herd status system-log’ now shows the socket(s) it is listening to and the kernel log file it is reading (if any). ** ‘system-log’ starts even if #:kernel-log-file is inaccessible (<https://issues.guix.gnu.org/77578>) It used to be that ‘system-log’ would fail to start if the file specified as #:kernel-log-file was inaccessible. This was unwise because that would then typically prevent most system services from starting; also, on Linux, the default #:kernel-log-file is /proc/kmsg, and that is inaccessible within containers. Failure to open #:kernel-log-file is now logged but is non-fatal. ** ‘system-log’ service reads /dev/klog on the Hurd (<https://issues.guix.gnu.org/77634>) The ‘system-log’ service would unconditionally read kernel messages from /proc/kmsg, which is Linux-specific and nonexistent on the Hurd. It now reads from /dev/klog on the Hurd. ** Fix bug that would cause a system-log test failure on the Hurd (<https://issues.guix.gnu.org/77634>) A bug would cause ‘system-log’ to keep polling the file passed as #:kernel-log-file after it has reached end-of-file; this would significantly slow down ‘shepherd’ on the Hurd, leading ‘tests/service/system-log.sh’ to fail. This bug had no impact in real use where #:kernel-log-file points to an “endless” file such as /proc/kmsg. ** Fix possible deadlock with timers hitting #:max-duration (<https://codeberg.org/shepherd/shepherd/issues/2>) A deadlock could occur when using a timer with #:max-duration that would result in shepherd being unable to handle process creation and termination. The bug could happen only when #:max-duration is specified for the timer, the timer’s process exceeds #:max-duration, and the timer’s process does not terminate within 5 seconds after being sent SIGTERM by shepherd. ** Adjust ‘tests/pid-file.sh’ for systems where unlink(2) returns EROFS on / (<https://issues.guix.gnu.org/77548>) This test used to assume that removing a nonexistent file on the root file system would return ENOENT, which is not the case on Linux when it is mounted read-only. Adjust to cope with that. ** Translations This version is fully translated in French, German, Romanian, Serbian, Slovak, Swedish, and Ukrainian; it is partially translated in several other languages. Check out https://translationproject.org/domain/shepherd.html to help translate it into your language! Please report bugs to bug-g...@gnu.org. Join guix-de...@gnu.org for discussions. Many thanks to everyone who reported bugs or contributed patches! Ludovic, on behalf of the Shepherd herd.
signature.asc
Description: PGP signature