Hello, New releases of some skarnet.org packages are available, as well as a new package. * skalibs-2.7.0.0 --------------- 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. https://skarnet.org/software/skalibs/ git://git.skarnet.org/skalibs * nsss-0.0.1.0 ------------ 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 modules. 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 order. https://skarnet.org/software/nsss/ git://git.skarnet.org/nsss * execline-2.5.0.1 ---------------- - Compatibility with skalibs-2.7.0.0. - Optional nsss support. https://skarnet.org/software/execline/ git://git.skarnet.org/execline * s6-2.7.2.0 ---------- - Compatibility with skalibs-2.7.0.0. - 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 directory. - 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. https://skarnet.org/software/s6/ git://git.skarnet.org/s6 * utmps-0.0.1.3 ------------- - Bugfixes. - Compatibility with skalibs-2.7.0.0. - Optional nsss support. https://skarnet.org/software/utmps/ git://git.skarnet.org/utmps * mdevd-0.1.0.2 ------------- - Bugfixes. - Compatibility with skalibs-2.7.0.0. - Optional nsss support. https://skarnet.org/software/mdevd/ git://git.skarnet.org/mdevd * s6-rc-0.4.1.0 ------------- - Compatibility with skalibs-2.7.0.0 and s6-2.7.2.0. - s6-rc programs now support the max-death-tally and down-signal files in a longrun directory. https://skarnet.org/software/s6-rc/ git://git.skarnet.org/s6-rc * s6-portable-utils-2.2.1.2 ------------------------- - Compatibility with skalibs-2.7.0.0. https://skarnet.org/software/s6-portable-utils/ git://git.skarnet.org/s6-portable-utils * s6-linux-utils-2.5.0.0 ---------------------- - Compatibility with skalibs-2.7.0.0. - Optional nsss support. - s6-devd, s6-uevent-listener and s6-uevent-spawner have been removed. They have been obsoleted by mdevd. https://skarnet.org/software/s6-linux-utils/ git://git.skarnet.org/s6-linux-utils * s6-dns-2.3.0.1 -------------- - Compatibility with skalibs-2.7.0.0. https://skarnet.org/software/s6-dns/ git://git.skarnet.org/s6-dns * s6-networking-2.3.0.3 --------------------- - Compatibility with skalibs-2.7.0.0. - Optional nsss support. - Build tested with LibreSSL-2.7.4 and BearSSL-0.5 https://skarnet.org/software/s6-networking/ git://git.skarnet.org/s6-networking Enjoy, Bug-reports welcome. -- Laurent