[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Shepherd 0.10.4 released

From: Ludovic Courtès
Subject: GNU Shepherd 0.10.4 released
Date: Sun, 31 Mar 2024 16:58:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

We are pleased to announce the GNU Shepherd version 0.10.4, a bug-fix
release of the new 0.10.x series, representing 7 commits over 3 months.

The 0.10.x series is a major overhaul towards 1.0, addressing shortcomings
and providing new features that help comprehend system state.

• About

  The GNU 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., tor, privoxy, mcron.  It supports several
  daemon startup mechanisms, including inetd and systemd-style socket
  activation.  The GNU 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 GNU Shepherd is developed jointly with the GNU Guix project; it is
  used as the init system of Guix, GNU’s advanced GNU/Linux distribution.

• Download

  For a summary of changes and contributors, see:;a=shortlog;h=v0.10.4
  or run this command from a git-cloned shepherd directory:
    git shortlog v0.10.3..v0.10.4

  Here are the compressed sources and a GPG detached signature:

  Use a mirror for higher download bandwidth:

  Here are the SHA1 and SHA256 checksums:

    1a547efd9416b492b89d010cb10cfd1b5cd35945  shepherd-0.10.4.tar.gz
    fiLRTcdckD42Ng5I5VAPj+GQT6E04tA+VBKTkKjIBgg=  shepherd-0.10.4.tar.gz

  Verify the base64 SHA256 checksum with cksum -a sha256 --check
  from coreutils-9.2 or OpenBSD's cksum since 2007.

  Use a .sig file to verify that the corresponding file (without the
  .sig suffix) is intact.  First, be sure to download both the .sig file
  and the corresponding tarball.  Then, run a command like this:

    gpg --verify shepherd-0.10.4.tar.gz.sig

  sh: line 1: gpg: command not found
  If that command fails because you don't have the required public key,
  or that public key has expired, try the following commands to retrieve
  or refresh it, and then rerun the 'gpg --verify' command.

    gpg --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

  As a last resort to find the key, you can try the official GNU

    wget -q
    gpg --keyring gnu-keyring.gpg --verify shepherd-0.10.4.tar.gz.sig

  This release was bootstrapped with the following tools:
    Autoconf 2.71
    Automake 1.16.5
    Gettext 0.21
    Makeinfo 7.1

• Changes since version 0.10.3 (excerpt from the NEWS file)

  ** ‘herd unload root all’ stops services before unregistering them

  Previously, since version 0.10.0, ‘herd unload root all’ would unregister all
  services without first stopping them, leaving the system in a bogus state.

  ** ‘shepherd’ no longer bails out when reboot(2) returns ENOSYS

  In runc environments (among others), reboot(RB_DISABLE_CAD) returns ENOSYS,
  which would lead shepherd to fail to start.  This would prevent the use of
  shepherd in some containerized environments such as those of GitLab-CI.

  ** REPL service no longer attempts to enter debugger upon error

  The REPL service would spawn a regular REPL that enters a debugger (or
  “recursive prompt”) by default.  While this is a great feature, it could
  easily render the shepherd REPL unusable because the continuation of the
  debugger prompt could not always be suspended—see the thread at  To avoid
  that, the REPL now simply displays a backtrace upon error.

Please report bugs to
Join for discussions.

Ludovic, on behalf of the Shepherd herd.

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]