Hello fello supervision users, I am glad to announce the first *stable* release of supervision[0] framework. A few noticeable things changed since rc4 for stability, robustness and portability, though, nothing stand out greatly but mountinfo(1) rewrite (not less... not really necessary either) and support for sysvinit style run levels... The idead was to have that *single* runlevel support to be able to repair a broken system. And this was easy to implement by only trnaslating stage-[0-3] to {sysinit,boot, default,shutdow,reboot,single,nonetwork}. Almost a switch(runlevel)... and done: so using `rs default' would be translated to `rs -2 stage'.
And then, more tiny things get in like having to sync udev early rather than later after a few redundancy removal to get a few services started as expected like zfs. But now udev takes 5 seconds here to sync! pushing boot time from 11 seconds to 16 seconds; shutdown/reboot still get done in 11 seconds with 55 system services, quad core (8 threads), 16 GB ram, a 1 TB WD red disc, LVM and ZFS on dmcrypt LUKS, /(var/)tmp on ZRAM backed devices, some union filesystem (OverlayFS+SquashFS) for miscellaneous /var/{db,...}. No udev users won't notice it; nor no dmcrypt, and device-mapper notice sometimes some delay to shutdown devices depending on busy mount points. Cheers, tokiclover. [0]: https://github.com/tokiclover/supervision