[announce] skarnet.org Summer 2018 release

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Tue, 14 Aug 2018 22:20:50 +0000


  New releases of some skarnet.org packages are available, as well
as a new package.

  * skalibs-

  This is a major version release of skalibs, so compatibility with
previous versions is not guaranteed. Make sure to also upgrade the rest
of the skarnet.org stack at the same time to avoid build failures.

  - Bugfixes.

  - As usual, a few new functions needed by changes in the rest of the
skarnet.org software stack - such as ipc_timed_sendv() and
unlink_void(). The latter is part of a continuing effort to make sure
destructors never fail and also never clobber errno.

  - As part of that effort, dir_close() now returns void and always
leaves errno unchanged.

  - Some functions have been removed: absolutepath() (just use
sarealpath()), sarealpath_tmp() (no use for the extra stralloc
argument anymore), the mininetstring family of functions (only
s6-dns used this, and the protocol has been basically obsoleted
by textclient), and the prot family of functions (calling
getpwnam() in skalibs is a bad idea, see below). Also the
avl[tree|treen|treeb|node]_deletenode() macros, which were bad API
and useless entry points for node deletion in an AVL tree.

  - skalibs/djbunix.h does not include skalibs/env.h anymore.


  * nsss-

  This is a new package: an alternative implementation of the "name
service switch" mechanism, i.e. a way for getpwnam() and friends to
use another backend than the traditional /etc/passwd and similar
files, without the problems of NSS such as using dynamically loaded

  Also new in this package: a minimal test framework. After running
"make", you can run "make check" to perform some tests before
"make install". The test framework is pure C and sh.

  nsss depends on skalibs, and applications may decide to depend on
nsss: that's why removing all references to getpwnam() and similar
functions in skalibs is a good idea (because skalibs cannot depend
on nsss, so a getpwnam() invocation in skalibs could not be
nsss-aware, would use the default libc implementation, and that could
cause inconsistencies in applications).

  nsss has no build-time requirement on s6, but it has a soft
run-time requirement on it: the provided daemons are meant to be run
under s6-ipcserver (or another compatible Unix domain super-server),
and running the test suite requires s6. See below for the bootstrap


  * execline-

  - Compatibility with skalibs-

  - Optional nsss support.


  * s6-

  - Compatibility with skalibs-

  - Optional nsss support. If you are bootstrapping and want nsss
support, the correct build order is: skalibs -> nsss (do not run
the test suite) -> execline (with nsss support) -> s6 (with nsss
support) -> run the nsss test suite and install the nsssd service

  - s6-ipcserver-socketbinder now takes a -B option to make the
socket blocking.

  - s6-svscan now takes a "-d notif" option to notify readiness,
for the case where a s6-svscan supervision tree needs to be run
under a process supervisor or service manager that understand the
s6 notification protocol (typically when running s6 subtrees).
Note that this is shallow readiness: s6-svscan will report readiness
when it is ready to receive s6-svscanctl commands. It is *not* deep
readiness, which would mean that all the insta-spawned s6-supervise
processes are ready to receive s6-svc commands, and would be much
heavier to implement.

  - s6-supervise now supports the "down-signal" optional file in a
service directory. It allows customization of the signal sent by
s6-svc -d. This is useful for daemons that use another signal than
SIGTERM as their default "stop" command.

  - New s6-svc option: -r. It's equivalent to -t, except that
s6-svc -r sends the signal defined in the "down-signal" file, if
any (still SIGTERM by default), whereas s6-svc -t always sends a
SIGTERM. "s6-svc -r $servicedir" is now the command that should be
used to restart a service.


  * utmps-

  - Bugfixes.

  - Compatibility with skalibs-

  - Optional nsss support.


  * mdevd-

  - Bugfixes.

  - Compatibility with skalibs-

  - Optional nsss support.


  * s6-rc-

  - Compatibility with skalibs- and s6-

  - s6-rc programs now support the max-death-tally and down-signal
files in a longrun directory.


  * s6-portable-utils-

  - Compatibility with skalibs-


  * s6-linux-utils-

  - Compatibility with skalibs-

  - Optional nsss support.

  - s6-devd, s6-uevent-listener and s6-uevent-spawner have been removed.
They have been obsoleted by mdevd.


  * s6-dns-

  - Compatibility with skalibs-


  * s6-networking-

  - Compatibility with skalibs-

  - Optional nsss support.

  - Build tested with LibreSSL-2.7.4 and BearSSL-0.5


  Bug-reports welcome.

Received on Tue Aug 14 2018 - 22:20:50 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC