El 2026-10-19 05:13, Laurent Bercot escribió:
> Hello,
>
> New versions of some of the skarnet.org packages are available.
> Four of them are major updates: they come with pretty significant
> additions and improvements, and updating may require some care.
> If a package listed here has no details, it means the changes are just
> bugfixes.
>
> skalibs-2.16.0.0 (major)
> execline-2.10.0.0 (major)
> s6-2.15.1.1 (release)
> s6-rc-0.8.0.0 (major)
> s6-frontend-0.2.0.0 (major)
>
> * skalibs-2.16.0.0
> ----------------
>
> - New functions to wait for specific pids without reaping other pending
> children: waitpids, waitpids_nohang.
> - New pthread_create_flat function to pass stack-allocated data to a
> thread (which is normally racy).
> - The waitn* functions, which were badly designed and only used in the
> (now rewritten) wait utility in execline, have been removed.
>
> https://skarnet.org/software/skalibs/
> git://git.skarnet.org/skalibs
>
> * execline-2.10.0.0
> -----------------
>
> - Thanks to POSIX relaxing its requirements on certain intrinsic
> utilities needing to be present in the filesystem, execline does not
> need to provide POSIX compatibility anymore for utilities like cd,
> umask
> and wait.
> * The --enable-pedantic-posix option has been removed. cd and umask
> are now real binaries, not symlinks. execline-cd, execline-umask,
> posix-cd and posix-umask have disappeared.
> * cd is the program that was previously execline-cd. posix-cd is now
> in the trash can of history where it belongs.
> * umask is the program that was previously posix-umask, because it is
> not significantly more complex than execline-umask and provides some
> useful features. execline-umask has been deleted.
> - The wait program has been entirely rewritten. Now, when given a pid
> list, it only waits for the pids in the list, without reaping unrelated
> processes. Its list of options has also slightly changed (no more -r).
> - loopwhilex -x "" is now supported and means looping forever.
> - The -n option to loopwhilex has disappeared.
>
> https://skarnet.org/software/execline/
> git://git.skarnet.org/execline
>
> * s6-rc-0.8.0.0
> -------------
>
> - Databases now embed the major version they were built with.
> - New -L option to s6-rc-compile, to instruct it to hold the pipe
> for a catch-all logger in the underlying s6 supervision tree.
> - s6-rc-set-commit now takes a snapshot of the source.
> - s6-rc-set-install now calls s6-rc-format-upgrade if the new database
> has a greater major version than the previous one. This should allow
> seamless upgrades with s6-frontend. This requires a change to the
> repository format used by the repo commands, see below in the
> s6-frontend
> section.
>
> https://skarnet.org/software/s6-rc/
> git://git.skarnet.org/s6-rc
>
> * s6-frontend-0.2.0.0
> -------------------
>
> - Better management of user services for the future: s6 --user now
> reads /etc/s6-user.conf instead of /etc/s6.conf, overridable via the
> S6_USER_CONF variable. It also imports XDG variables for its default
> configuration.
> - The catch-all logger pipe is now held (which means the catch-all
> logger
> can be restarted at any time without consequences on services).
> - Some "s6 set" commands, as well as "s6 live install", are now
> simplified: they don't need the -s option to target another set than
> "current".
> - Transparent upgrades across major s6-rc versions are now possible.
> To achieve this, the repository format had to change a little. This is
> not expected to be a common occurrence. To convert your repository
> ($repo)
> to the new format, run the following script:
>
> ###
> cd $repo/sources
> for i in `ls -1` ; do
> j=`readlink $i`
> mv $j .real$j
> rm $i ; ln -s .real$j $i
> done
> ###
>
> and then sync your repository. Sorry for the inconvenience.
> - Existing live databases do not have the necessary support for
> transparent format upgrades. In order to port them to the new format
> without resetting everything manually:
> + upgrade s6-rc and s6-frontend
> + run "s6 set commit" then "s6 live install --no-snapshot"
> - The transparent upgrade feature only works if there has been
> *no store changes* between the previous live db installation and the
> s6-rc major version change. A more robust version of the transparent
> upgrade is planned for the future, but for now, please ensure your
> new db has the exact same set of services as the old one, else things
> will probably break. Thank you for your patience.
>
> https://skarnet.org/software/s6-frontend/
> git://git.skarnet.org/s6-frontend
>
> Enjoy,
> Bug-reports, as always, are welcome.
>
> --
> Laurent
Hi all,
I have tried following the steps, but I get the following error:
s6-rc-set-commit: fatal: internal layout error while taking a snapshot
of set current
Full log:
https://www.logpasta.com/paste/13747908-d550-4617-a0f0-07a40934bf5a
Looking at the script, I assume it requires adding the ".real" prefix to
what you already had; in my case, since I had ".current*", it became
".real.current*".
Since that didn't work, I started from scratch and run these command:
# s6 repo init -f
# s6 repo sync
# s6 set status
# s6 set enable sv1 sv2 sv3 ...
# s6 set check -F
# s6 set commit (same error)
# s6 set commit -f (same error)
# s6 live install --no-snapshot
s6-rc-set-install: fatal: set current is not up-to-date; commit it first
-----------
/etc/s6/repo/sources
# ls -l1a
total 4
drwxr-xr-x 5 root root 129 oct 19 06:03 .
drwxr-sr-x 5 root root 85 oct 19 06:01 ..
lrwxrwxrwx 1 root root 16 oct 19 06:03 .atomics -> ..atomics:ZK7MXk
drwxr-sr-x 2 root root 4096 oct 19 06:03 ..atomics:ZK7MXk
lrwxrwxrwx 1 root root 16 oct 19 06:03 .bundles -> ..bundles:AFSHow
drwxr-sr-x 2 root root 118 oct 19 06:03 ..bundles:AFSHow
lrwxrwxrwx 1 root root 21 oct 19 05:59 current ->
.real.current:UYFv5a/
drwxr-sr-x 6 root root 76 oct 19 06:07 .real.current:UYFv5a
-----------
I must be doing something wrong--the thing is, I won't be able to reboot
now until I fix it! :D
Thanks for your effort and work, Laurent.
Luis.
Received on Mon Oct 19 2026 - 06:39:30 CEST