[announce] skarnet.org January 2023 release

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Sat, 14 Jan 2023 10:52:55 +0000


  New versions of the skarnet.org packages are available. This release
is overdue, sorry for the delay - but finally, happy new year everyone!

  skalibs' strerr_* functions and macros, meant to provide shortcuts for
error message composition and output, have been rewritten; they're no
longer split between strerr.h and strerr2.h, but are all gathered in
strerr.h - the skalibs/strerr2.h headers is now deprecated.
  This is released as a major version upgrade to skalibs because some
hardly ever used strerr macros have been outright removed; and the
deprecation of strerr2.h also counts as an API change. However, unless
you were using the deleted strerr macros (highly unlikely, as there
was no reason to, which is why they're being deleted in the first
your software should still build as is with the new skalibs, maybe
with warnings.

  The rest of the skarnet.org software stack has undergone at least a
release bump, in order to build with the new skalibs with no warnings.
Most packages also include several bugfixes, so upgrading the whole
stack is recommended.

  The new version of s6 includes a feature that has often been asked
for: an implementation of dynamically instanced services. Six new
commands allow you to create and manage dynamic instances of a given
service directory template, parameterized by an argument you give
to the run script.
  It also comes with a few quality-of-life changes, such as s6-log
line prefixing, as well as a good number of minor bugfixes.

  The "s6-test" program, formerly in s6-portable-utils, has migrated
to the execline package, where it is named "eltest". It still exists
in s6-portable-utils, but is deprecated and will be removed in a
future release.

  The new versions are the following:

skalibs- (major)
nsss- (release)
utmps- (release)
execline- (minor)
s6- (minor)
s6-rc- (release)
s6-linux-init- (release)
s6-portable-utils- (release)
s6-linux-utils- (release)
s6-dns- (release)
s6-networking- (release)
mdevd- (release)
smtpd-starttls-proxy- (release)
bcnm- (release)
dnsfunnel- (release)

  Details of some of these package changes follow.

* skalibs-

  - Bugfixes.
  - New functions: buffer_timed_put, buffer_timed_puts, for synchronous
writes to a file descriptor with a time limit.
  - strerr2.h deprecated. strerr.h entirely revamped. Every existing
strerr interface is now a variable argument macro around the new
strerr_warnv, strerr_warnvsys, strerr_diev and strerr_dievsys functions,
which just prints arrays of strings to stderr. This reduces the amount
of adhocness in the strerr code considerably, allows calls without an
upper bound on the number of strings, and should save some bytes in
resulting binaries.


* execline-

  - Bugfixes.
  - New program: eltest. This is the program formely available in
s6-portable-utils as "s6-test", that has changed packages and be
It's a quasi-implementation of the POSIX "test" utility, that was too
useful in execline scripts to be off in a separate package. (Quasi
because the exact spec is bad.) It understands -v, for testing the
existence of a variable, and =~, for regular expression matching.


* s6-

  - Bugfixes.
  - The one-second service restart delay can now only be skipped when the
service is ready. This prevents CPU hogging when a heavy service takes
a long time to start and fails before reaching readiness.
  - The name of the service is now passed as the first argument to ./run
and as the third argument to ./finish.
  - s6-log now understands a new directive: p. "pfoobar:" means that the
current log line will be prepended with the "foobar: " prefix. This
allows service differentiation in downstream log processing, which was
an often requested feature.
  - New commands available: s6-instance-maker, s6-instance-create,
s6-instance-delete, s6-instance-control, s6-instance-status,
s6-instance-list. They allow you to manage supervised sets of services
created from the same templated service directory with only a parameter
(the name of the instance) changing.


* s6-portable-utils-

  - s6-test is now deprecated, replaced with the eltest program in the
execline package.


  Bug-reports welcome as always.

Received on Sat Jan 14 2023 - 11:52:55 CET

This archive was generated by hypermail 2.4.0 : Sat Jan 14 2023 - 11:53:27 CET