GNU Shepherd 1.0.6 released
Ludovic Courtès <[email protected]> Wed, 09 Jul 2025 11:25:40 +0200
| Newsgroups | gmane.org.fsf.announce |
|---|---|
| Message-ID | <[email protected]> |
We are glad to announce version 1.0.6 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/
• 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.6.tar.gz
https://ftp.gnu.org/gnu/shepherd/shepherd-1.0.6.tar.gz.sig
Here are the SHA1 and SHA256 checksums:
f5296ae2b896c619c3856fcecadcf74ad8d9b1de shepherd-1.0.6.tar.gz
fc74dfda499a695e650fc5839d39ad538e2e323949b8904afcfaffa34171be33 shepherd-1.0.6.tar.gz
Authenticate the code by downloading the corresponding .sig file:
gpg --verify shepherd-1.0.6.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.6.tar.gz.sig
It is bit-for-bit reproducible from a checkout of the ‘v1.0.6’ tag of
the Git repository.
• Changes since version 1.0.5
** ‘shepherd’ reacts to deletion of its listening socket
(<https://issues.guix.gnu.org/76998>)
If the listening socket of ‘shepherd’ is deleted, it becomes impossible to
control it. Thus, upon deletion, ‘shepherd’ tries to reopen it (when running
as PID 1) or stops itself (when running as an unprivileged user).
The latter behavior is useful when the listening socket is under /run/user/UID
(the default) since that directory is usually deleted as soon as the user
session terminates.
** ‘shepherd’ and ‘herd’ honor the ‘SHEPHERD_SOCKET’ environment variable
(<https://codeberg.org/shepherd/shepherd/issues/11>)
Both ‘shepherd’ and ‘herd’ now honor the new ‘SHEPHERD_SOCKET’ environment
variable, which specifies the socket file to listen to or to connect to when
the ‘--socket’ option is omitted. The ‘reboot’ and ‘halt’ commands do not
honor it as this usually makes little sense.
** ‘herd status’ shows clearer information for timers
(<https://codeberg.org/shepherd/shepherd/issues/6>)
Previously, the output of ‘herd status TIMER’ would start with “It is running
since…”, as is the case with other services. This message could be
misinterpreted as meaning that the timer’s action is currently running, when
it in fact referred to the fact that the timer was “active”, possibly just
awaiting the next alarm.
** New Fish completion
This version comes with completion of the ‘herd’ command for the Fish shell.
** Translations
This version is fully translated in German, Romanian, 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 <https://codeberg.org/shepherd/shepherd/issues>.
Join [email protected] for discussions.
Many thanks to everyone who reported bugs or contributed patches!
Ludovic, on behalf of the Shepherd herd.
signature.asc
(application/pgp-signature, 853 B)
-----BEGIN PGP SIGNATURE----- iQJBBAEBCgArFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAmhuNZUNHGx1ZG9AZ251 Lm9yZwAKCRAJCxGZPZrrtZU7D/0d7gQm0g4DA0p1dCaUaEK4wKboDJSy0+nEtKli ldsVVWnqNGbUilXD8drJB3mXMPdxdqTWlLRTmX51biC0EEEMfPrW6Iglqt1nAvSn Phrv2QVJrUpAaud9OxPkgpx0bx0XK//wi/aY3YUGFRasrj4fmOYtR8RzHpJKf8B8 6eHDI0oPGB6Dy7hBMhw3+S+Iz42gwQzIltMrLhZ1XN69RcWZOCMHX/cpC2DAhJ9V jGYrWy+A4YprzQ2ZFO6RdoXeEbaqMrz2gwRwXOWqxbQZ5cb0cetX2+K8AgNXphjG XMHH8R9TfKFUYMB4bOXSUO1RI1+nr746mjwipcJpvE3q7k/trNhe/TdGHfKLDOVu VsJlHoOp30mbEfhX9mdixASxEbKgpg7T9ycNRAQxE16SxsvaN8cmC6nOomst70F3 UKpD9sCg/0CilUlSdj8L81tW+5CNOCamxZsBJGah0PfZDiUfTqYju0JN56Bf7v4D hYgYXlsNKlctkymjwNaJSn2MLJHn8MVc0Fdw9IPGD8kBBI2TMzhB9crYqgXbH+NX cLj/pcayc9PtJj+fuewHYMzDM6/3HVqKuDMsdLTp7adhoXD0yevk52PZUBImkR7l 0/8g4YMRuV4CtCWWGCrH+pG6bvlenNStjZltKdsiQjc0F0dhvX5DjjD0MracNmQY fiGqvw== =MGEh -----END PGP SIGNATURE-----