GNU Shepherd 0.9.3 released

Ludovic Courtès <[email protected]> Thu, 17 Nov 2022 10:39:19 +0100
Newsgroups gmane.lisp.guile.sources,gmane.comp.gnu.guix.devel,gmane.lisp.guile.user
Message-ID <[email protected]>
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

We are pleased to announce the GNU Shepherd version 0.9.3.  This is a
bug-fix release, representing 16 commits by 1 person over 2 months.


=E2=80=A2 About

  The GNU Daemon Shepherd or GNU Shepherd is a service manager written
  in Guile that looks after the herd of system services.  It provides
  dependency-based management for system services: daemons such as
  =E2=80=98sshd=E2=80=99, programs such as Xorg, as well as user-provided a=
ctions.  The
  GNU Shepherd may also be used by unprivileged users to manage per-user
  daemons=E2=80=94e.g., tor, privoxy, mcron, etc.  It is written in Guile
  Scheme, and is configured and extended using Guile.

  The GNU Shepherd is developed jointly with the GNU Guix project; it is
  used as the init system of Guix, GNU=E2=80=99s advanced GNU/Linux distrib=
ution.

  https://www.gnu.org/software/shepherd/


=E2=80=A2 Download

  Here are the compressed sources and a GPG detached signature[*]:
    https://ftp.gnu.org/gnu/shepherd/shepherd-0.9.3.tar.gz
    https://ftp.gnu.org/gnu/shepherd/shepherd-0.9.3.tar.gz.sig

  Use a mirror for higher download bandwidth:
    https://ftpmirror.gnu.org/shepherd/shepherd-0.9.3.tar.gz
    https://ftpmirror.gnu.org/shepherd/shepherd-0.9.3.tar.gz.sig

  Here are the SHA1 and SHA256 checksums:

  bb6694367f5f0a620c4999050133dad6d3754ecf  shepherd-0.9.3.tar.gz
  62b0e5637c11178cb3523e04614a67b137f8627ee7d358ac2ac0c13e02f6c263  shepher=
d-0.9.3.tar.gz

  [*] 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.9.3.tar.gz.sig

  If that command fails because you don't have the required public key,
  then run this command to import it:

    gpg --keyserver keys.openpgp.org \
        --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

  and rerun the 'gpg --verify' command.

  This release was bootstrapped with the following tools:
    Autoconf 2.71
    Automake 1.16.5
    Makeinfo 7.0
    Help2man 1.48.5


=E2=80=A2 Changes since version 0.9.2 (excerpt from the NEWS file)

  ** Service =E2=80=98stop=E2=80=99 is now synchronous
     <https://issues.guix.gnu.org/58485>

  Previously, =E2=80=98herd stop SERVICE=E2=80=99 would send SIGTERM to the=
 service=E2=80=99s process
  and immediately move on without waiting for the process to actually termi=
nate.
  This could cause problems for example when running =E2=80=98herd restart =
SERVICE=E2=80=99:
  there was a possibility that a new instance of the service would be spawn=
ed
  before the previous one had terminated.

  This is now fixed: =E2=80=98stop=E2=80=99 only returns once the process h=
as actually
  terminated.  Furthermore, the destructor returned by =E2=80=98make-kill-d=
estructor=E2=80=99
  sends SIGKILL after some grace period has expired if the process is still
  around; this is configurable with #:grace-period and
  =E2=80=98default-process-termination-grace-period=E2=80=99.

  ** Non-blocking replacement for =E2=80=98system*=E2=80=99
     <https://issues.guix.gnu.org/56674>.

  Service code can now call =E2=80=98system*=E2=80=99 lightheartedly: sheph=
erd installs a
  cooperative, non-blocking replacement for Guile=E2=80=99s =E2=80=98system=
*=E2=80=99 procedure.
  Concretely, it means that it=E2=80=99s OK to use =E2=80=98system*=E2=80=
=99, say, in the =E2=80=98start=E2=80=99 method
  of a service: it won=E2=80=99t block shepherd, one can still interact wit=
h it with
  =E2=80=98herd=E2=80=99.

  ** Fewer continuation barriers

  The =E2=80=98stop=E2=80=99 method of services, and =E2=80=98eval=E2=80=99=
 and =E2=80=98load=E2=80=99 actions of the =E2=80=98root=E2=80=99
  service, and a few other points acted as =E2=80=9Ccontinuation barriers=
=E2=80=9D, meaning that
  user code would not be allowed to suspend the current fiber for example by
  calling the =E2=80=98sleep=E2=80=99 procedure from (fiber).  These limita=
tions have been
  lifted.

  ** Reduced memory consumption while logging

  Service output logging allocates less memory than before.

  ** Updated translations: ro, sr


Please report bugs to [email protected].
Join [email protected] for discussions.

Ludovic, on behalf of the Shepherd herd.

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQJBBAEBCgArFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAmN2AUcNHGx1ZG9AZ251
Lm9yZwAKCRAJCxGZPZrrtWXyD/4k6SRgN+wJkmeNhSceCKXSQW2TSJKDqfV0icL2
K25cqhponC3/sUDoaSAUhPE0KvAi0i5+JKCisVvCkmQNe5OOnYheJXypiEG/EwZk
3/kc5+gvx71aryD2z2oQVQC8sG0qbeZgATAXutktfHVX2tav/OLz5eIPAGFuL+vX
IXEg6Rd90XnwqBnFvlObVM1Ry78eAFNxBNXGLXLyvPhQ2h2bk9d16GPCDyd16aRX
mZyTBSrBNDMKRdzHd7fg40abACcXADmM7jcTQXw0AHxBoD7mdf+z4DfSvJEJULAx
v3t4Za0vEStUYsxsKscSa7d+ZYwlLGOXYar6X8pFHE5RWJgP/DMAFGFm/cGoDGy6
3t5GQ0oaAwUcivErne/3tacbkqtPDOrUQhc8g7FgJ1rL3IuVHgdjZ424pZ1N6eH4
YziGAFXuDnAcO5KGi6tAfPWljFIkQBMR1j/Cl6TzpMRp/YHNQYaGTEtXfxLQuQra
DjyvN828HKw4RyFz5RhJV1m+99tZ6nhsFbV0vdjqY8k2RCPabpCFQsrfotn9TERF
q7sLC1uNPy5ajI0GkcE6p+Z6U5HF5lyhIHfelRG72QKc7U4m5kl/CpUSHdbyDNjA
Vid94AoQj26JYUmKknuF9WX0rf3Qcy+jkUfL8w4z8q3eLeehPmjLv+pYnSUUQupS
N78OdQ==
=QRUU
-----END PGP SIGNATURE-----
--=-=-=--