GNU Shepherd 0.9.2 released

Ludovic Courtès <[email protected]> Sat, 10 Sep 2022 23:48:37 +0200
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.2.  This is a
bug-fix release, representing 27 commits by 2 people over 4 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.2.tar.gz
    https://ftp.gnu.org/gnu/shepherd/shepherd-0.9.2.tar.gz.sig

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

  Here are the SHA1 and SHA256 checksums:

  b8861f58596f0938375d1a13ab4142f6dca50340  shepherd-0.9.2.tar.gz
  e192bbaac3d38e3a1fcb5624c0a925758abfd0b43bac4c88b6770df8fcf08b55  shepher=
d-0.9.2.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.2.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 6.7
    Help2man 1.48.5


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

  ** File descriptors used internally are now all marked as close-on-exec

  Previously, services started indirectly with =E2=80=98exec-command=E2=80=
=99 (which is usually
  the case) would not inherit any file descriptor from shepherd because
  =E2=80=98exec-command=E2=80=99 would explicitly close all of them.  Howev=
er, services started
  with =E2=80=98make-system-constructor=E2=80=99 and processes created by s=
ome other means, such
  as calling =E2=80=98system*=E2=80=99, would inherit some of those descrip=
tors, giving them
  more authority than intended.

  The change here consists in marking all internally-used file descriptors =
as
  =E2=80=9Cclose-on-exec=E2=80=9D (O_CLOEXEC), a feature that=E2=80=99s bee=
n available on GNU/Linux and
  GNU/Hurd for years but that so far wasn=E2=80=99t used consistently in sh=
epherd.  This
  is now fixed.  As a side-effect, the file-descriptor-closing loop in
  =E2=80=98exec-command=E2=80=99 is now gone.

  ** Client connections with =E2=80=98herd=E2=80=99 are non-blocking

  Previously, a misbehaving client could send an incomplete command
  (s-expression), causing shepherd to hang while waiting for completion.  (=
Note
  that said client is required to run with the same UID as shepherd, so thi=
s was
  not a security issue.)

  ** Directory of log file is created if it doesn=E2=80=99t exist

  When a service constructor is passed =E2=80=98#:log-file "/var/log/foo/ba=
r.log"=E2=80=99,
  shepherd now created /var/log/foo if it doesn=E2=80=99t exist; previously=
 it would
  fail gracelessly.


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

Ludovic, on behalf of the Shepherd herd.

[[End of PGP Signed Part]]

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

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

iQJBBAEBCgArFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAmMdBjUNHGx1ZG9AZ251
Lm9yZwAKCRAJCxGZPZrrtVdQD/49x/Dp3O/o2dAYEctAMVkPrXp64bu80+qs9kvg
dIqf2B7sRPeA2sy/zrBBA79KNij75YtMLUTdsKov9pA/+9w7flIe0xpoyC19JFVI
HR2Gc71jqSH3vTdGbhrKmVU+7yOb/44bD60VDR9EVEoygI0YdQiOcGxjaFQqWoRe
ucGKvL0mMAPdlhI1aTiUNrBM6/dczMuG5QP59Y0i30SWupi7bUEKmnivXThsq3t9
fPbr49wiP3ml/ry4KsoKG8xeffO+wj+ICn4SPw61eKeVoUO0FzdQVXFz3AUAQWcf
zpsI7nH7E+xNt2J3HJKYsr9WohKUs2bEd9qURAnU65WReZRKaE6amIgp1eX99Rr9
oWzwkhB1i4MOWyjee+IrFc2Holy3OdgvCgk/mwp8fNB1LWMo0vTfFHq+DiRbcGxN
6VdA4uVhRDPhCWOwLxKhjKTSyzH6Uy0zGgTNXlCKAWICIA55SepT3qjBqOm9EQM8
Ma0BLuKRssCdFIMRCxYADiowzEFAp9nRRFxeUdgro9yfhEYBdvm2R1RKw3wcu8w0
6NkJMM3NsZnKahKoaRpRnkM+p/dmFMgOy9D4yskyVr+poqoOkhg55vts2u2z22ZX
HWUfJsRqIKU6slCJNN+slQTaYhYoYcz5UNQYSQC4fh/OttAo95/Fi95Ch5fEbmo1
Z644GA==
=E55R
-----END PGP SIGNATURE-----
--=-=-=--