[DNG] OpenRC and Runit without SysVinit packages

2018-10-11 Thread alecfeldman
This is a "remail" of what I sent Daniel about a month ago for others on the 
mailing list to see with a few changes and added details.

First of all, I want to thank the developers for the efforts to continue debian 
without "systemd creep". I've experimented with the distribution on and off, 
but there's one big turnoff for me currently that I don't think would take an 
enormous amount of effort to change: sysvinit. While it does work perfectly 
fine on its own, I prefer openrc, and runit even more so. While they do work in 
Devuan, they require sysvinit as a "backend". In Devuan ceres and up, openrc 
0.25 provides openrc-init and no longer relies on sysvinit-core. In fact, it 
can be removed entirely (I have an addiction to removing everything I don't 
want to use). However, openrc-init boots openrc directly and skips the 
/etc/inittab file, so it won't start the gettys. All that would be needed to 
fix this is a separate getty service package. Runit is a different story, since 
its initialization and shutdown stages rely heavily on sysv-rc scripts 
(/etc/rc*.d). These scripts can be completely avoided by using an 
implementation similar to how Void Linux does it. In fact, I did some tweaking 
with https://github.com/cloux/aws-devuan (https://github.com/cloux/aws-devuan) 
and https://gitea.artixlinux.org/artix/runit-rc 
(https://gitea.artixlinux.org/artix/runit-rc). I was able to get a fully 
booting devuan install without any initscripts. However, these aren't 
officially supported in Devuan, and should thus not be considered permanent 
solutions. With that in mind, what would be a permanent solution? I proposed 
two:

1. Split the runit package into separate packages with alternate stage files.

2. Provide a configuration file for how runit should act. For instance, if 
openrc or sysvinit is installed, runit can depend on /etc/init.d and /etc/rc*.d 
scripts for booting.

Daniel in response proposed:

For your runit proposal we could probably modify or provide a runit source that 
builds binaries that have the needed changes for each init system it runs 
alongside - ie runit-sysvinit, runit-openrc, runit-init etc. We can build these 
from the same source package and just provide the alternate stage files. This 
makes it also extensible to other init systems down the track.
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


[DNG] OpenRC and Runit without SysVinit packages

2018-10-11 Thread alecfeldman
This is a "remail" of what I sent Daniel about a month ago for others on the 
mailing list to see with a few changes and added details.

First of all, I want to thank the developers for the efforts to continue debian 
without "systemd creep". I've experimented with the distribution on and off, 
but there's one big turnoff for me currently that I don't think would take an 
enormous amount of effort to change: sysvinit. While it does work perfectly 
fine on its own, I prefer openrc, and runit even more so. While they do work in 
Devuan, they require sysvinit as a "backend". In Devuan ceres and up, openrc 
0.25 provides openrc-init and no longer relies on sysvinit-core. In fact, it 
can be removed entirely (I have an addiction to removing everything I don't 
want to use). However, openrc-init boots openrc directly and skips the 
/etc/inittab file, so it won't start the gettys. All that would be needed to 
fix this is a separate getty service package. Runit is a different story, since 
its initialization and shutdown stages rely heavily on sysv-rc scripts 
(/etc/rc*.d). These scripts can be completely avoided by using an 
implementation similar to how Void Linux does it. In fact, I did some tweaking 
with https://github.com/cloux/aws-devuan (https://github.com/cloux/aws-devuan) 
and https://gitea.artixlinux.org/artix/runit-rc 
(https://gitea.artixlinux.org/artix/runit-rc). I was able to get a fully 
booting devuan install without any initscripts. However, these aren't 
officially supported in Devuan, and should thus not be considered permanent 
solutions. With that in mind, what would be a permanent solution? I proposed 
two:

1. Split the runit package into separate packages with alternate stage files.

2. Provide a configuration file for how runit should act. For instance, if 
openrc or sysvinit is installed, runit can depend on /etc/init.d and /etc/rc*.d 
scripts for booting.

Daniel in response proposed:

For your runit proposal we could probably modify or provide a runit source that 
builds binaries that have the needed changes for each init system it runs 
alongside - ie runit-sysvinit, runit-openrc, runit-init etc. We can build these 
from the same source package and just provide the alternate stage files. This 
makes it also extensible to other init systems down the track.
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng