runit-services: several Dbus services fail to start at boot when this package is installed

Lorenzo plorenzo at
Mon Nov 28 00:46:04 GMT 2022

Hi Martin,

[ was Re: Runit-services RFS ]

> Martin Steigerwald  wrote:
> > 1) Major issue: Once I install runit-services Network Manager is
> > not started on boot automatically anymore. I tried it on two
> > laptops. On one I removed runit-services again. Then Network
> > Manager started again on next reboot. As I use Devuan
> > network-manager package still has the init script
> > /etc/init.d/network-manager. In /var/log/boot I have only:
> > 
> > Tue Nov 22 10:22:22 2022: Starting network connection manager: 
> > NetworkManager.
> > 
> > No error message or so. Starting it manually after boot works okay.
> > 
> > I have no idea why cause your package does not provide a service dir
> > for it that could fail. Expect maybe that is the reason: Maybe an
> > ordering issue? As so DBUS not yet up before Network Manager is
> > starting? Probably would be best to also make a runit service dir
> > for Network Manager and implement proper dependency handling there.
> > 
> > Another thing I just discovered. The bluetooth related services are
> > not started when your package runit-services is installed.
> > 
> > I now removed the package.
> > 
> To summarize: for a runit-init user:
>  * with this package installed, each service that connects to
> (depends on) dbus for which there is a sysv service but not a
> runscript will fail to start at boot, because it's started as sysv
> script when dbus is still not available. Such services can be started
> manually later. 
>  * without this package the sysv-emulation
> (/lib/runit/run_sysv_scripts) run sysv scripts at boot in the correct
> (Sysv) order, so everything works as expected
> So installing this package will make dbus-services that are not
> included in runit-services, like netwok-manager, bluetoothd and
> others, fail to start at boot.
> Lorenzo

run_sysv_scripts run sysvscripts at boot in the right order, but it
skips the sysv script when a native runscript with the same name exists.
This was designed to allow a gradual transition from sysvscripts to
runscripts; of course it doesn't work with dbus because it's at the
start of a dependency chain.

The very quick solution to this is to temporary remove dbus and maybe
elogind from this package.

Another solution is to merge dbus services into this package like
there's no tomorrow.

About the second one, a quick search with Debian Codesearch shows a
list of services affected:*dbus.*++-filetype%3Ashell&literal=0&page=1*dbus.*+-filetype%3Ashell&literal=0

So Network Manager, Avahi, bluez, wdm, lxdm, gdm3 (not sure gmd3 works
with elogind). Any other relevant service that I'm not considering?


More information about the Debian-init-diversity mailing list