Update
* The bug request for requirements for being a pre-dep of init is
#1028115 [1]
About the list of TODO in #923450;
DONE
The runit-init package depends on getty-run package, that provides six
gettys enabled on /dev/tty[1-6] by default on linux.
disabled by default.
TODO: - document how to enable the getty on a serial console or
- enable it by default
DONE
even major DE like KDE (and probably also GNOME, but did not tested it)
works; the main problem right now is switching init and installing
elogind without having the DE entirely removed, but this is beyond the
scope of runit-init. Once the user has managed to switch to runit,
things works as expected.
DONE
The openssh-server package provides a runit service; other important
services are included in the runit-services package which is now in
testing
DONE
The runit package ships a /lib/runit/run_sysv_scripts script that
starts sysv scripts (S links in rc2) in the right order at boot and
stops sysv scripts at shutdown. A sysv script is skipped when a
native runit scripts with the same basename exists in the system.
This approach is not free from potential bugs [2] but it works as
expected right now
2.1.2-32 and a rule to manually run the test was added in runit
2.1.2-33.
The test installs runit-init and then reboot into it, so both the
init switch and runit boot are tested.
TODO: update the test to include runit-services package.
DONE
The runit-init package ships compatibility symlinks for halt, poweroff,
reboot, shutdown, runlevel.
The runit package ships its own implementation of shutdown that
provides an interface for halt, poweroff and reboot; it's also
capable of talking with the initctl pipe so that an init switch like
systemd --> runit or sysvinit --> runit does not require an hard reset.
The interface is documented in shutdown(8) shipped with runit package.
The runlevel script only prints `N 2' as this is the runlevel
emulated by runit when it runs sysvinit scripts, and this is needed
by some tools like invoke-rc.d .
runit equivalent of update-rc.d and invoke-rc.d should be kept in
separate bin like deb-systemd-enable and deb-systemd-invoke.
Currently runit-helper and trigger_sv (runit package) both provide
the equivalent functionality of update-rc.d and invoke-rc.d; the main
outstanding problem with these is that they are not guaranteed to be
installed at postrm stage (purge)
TODO: - merge some code fallback for purge into i-s-h, to be called in
postrm when runit-helper/sv_trigger are not installed.
- send updated patch for i-s-h's service and service(8) with runit
support to #924132 [4]
This is done with a /lib/lsb/init-functions.d/40-runit sourced
script, in unstable since runit 2.1.2-50
Also, not on the #923450 list, but relevant
* Detect runit as init with reportbug, done in #913236
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028115
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%231024969
[3]
https://salsa.debian.org/debian/init-system-helpers/-/merge_requests/10
[4] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924132