[announce] skarnet.org February 2023 release

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Fri, 17 Feb 2023 15:33:22 +0000


  New versions of some skarnet.org packages are available. It hasn't been
long since the last release, but lots of small things have happened and
it doesn't make much sense to let them rot in git.

  The main addition is a new multicall configuration for the execline,
s6-portable-utils and s6-linux utils packages. When you give the
--enable-multicall option to configure, a single binary is compiled,
and 'make install' installs this binary and creates symlinks to it.
This is useful to setups that focus on saving disk space.

  Credit for this addition goes to Dominique Martinet, who nerd-sniped me
into actually testing such a configuration; and it turned out the disk
space gains were very impressive for execline (up to 87%!)
I applied the idea to the s6-portable-utils and s6-linux-utils packages,
which are also made of small, very simple, independent programs, to see
whether it was viable in the general case; but as I suspected, the gains
were not as impressive, and making it work required a significant
refactoring effort. Since other skarnet.org packages would have an even
worse gains/effort ratio, the experiment is stopping there. execline is
an outlier, with a 177 kB amd64 static binary being able to replace a
1.3 MB set of binaries; that's much better than I thought it would be,
so it's worth supporting. Enjoy.

  Other changes include mostly bugfixes and quality-of-life improvements.

  The new versions are the following:

skalibs- (minor)
nsss- (release)
execline- (minor)
s6- (minor)
s6-rc- (minor)
s6-linux-init- (major)
s6-portable-utils- (major)
s6-linux-utils- (minor)
s6-networking- (release)
mdevd- (release)

  Details of some of these package changes follow.

* skalibs-

  - Bugfixes.
  - New function: sals, listing the contents of a directory in a
Straightforward, but a large-ish piece of code that was used in multiple
places and needed to be factored.


* execline-

  - New --enable-multicall configure option. This is the big one for
some distributions, that don't want to spend 1 MB of disk space on
execline binaries. (They already know my position on that.)


* s6-

  - Bugfixes.
  - Instance-related internal changes. Instanced service directories
need to be recreated with the new version of s6-instance-maker.
  - New s6-svc -Q command, instructing s6-supervise not to restart the
service when it dies (like -O) and to additionally create a ./down file
in the service directory.
  - s6-ioconnect will now always shutdown() socket endpoints at EOF time;
the -0, -1, -6 and -7 options are still supported, but deprecated.


* s6-rc-

  - Bugfixes. In particular, s6-rc-update now conserves the existing
instances in an instanced service, whether the service is currently
active or not. In case of a live update, the current instances keep
running, but will restart with the new template next time they die
(which can be forced by a s6-instance-control -r invocation).
  - New s6-rc subcommands: start and stop, equivalent to "-u change"
and "-d change" respectively.


* s6-linux-init-

  - s6-linux-init-maker: -U option removed. No early utmpd script is
created. The reason for this change is that distros using utmps need
stage 2 utmp services anyway (because the wtmp database needs to be
persistent so wtmpd and btmpd can only be started after a log filesystem
has been mounted), so utmp is unusable before that point no matter what.
Distros should have an utmpd service started at the same time as wtmpd
and btmpd; so utmp management goes entirely out of scope for


* s6-portable-utils-

  - s6-test removed, hence the major update.
  - New --enable-multicall configure option.


* s6-linux-utils-

  - s6-mount option support updated.
  - New --enable-multicall configure option.


  Bug-reports welcome.

Received on Fri Feb 17 2023 - 16:33:22 CET

This archive was generated by hypermail 2.4.0 : Fri Feb 17 2023 - 16:33:54 CET