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

2022-11-28 Thread Martin Steigerwald
Lorenzo - 28.11.22, 01:46:04 CET:
> 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:
[…]
> > > Another thing I just discovered. The bluetooth related services
> > > are not started when your package runit-services is installed.
> >
> > 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

Do I get this right, that first runit sysv emulation runs the init 
scripts in the correct order and it starts native runit services? Could 
runit be instructed to start at least certain or even all Runit services 
before running the init scripts?

> > 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.

> 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.

This has the disadvantage that whenever there is a new DBUS service 
introduced by some package it will fail again until your package "runit-
services" picks it up.

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

I remember Devuan installation reports that GNOME works with elogind. 
Not sure whether this was with gdm3 or another display manager.

Best,
-- 
Martin



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

2022-11-27 Thread Lorenzo Puliti
Package: runit-services
Version: 0.5.0
Severity: important
X-Debbugs-Cc: plore...@disroot.org

Not sure about the severity, it technically fits in "makes
unrelated software on the system break" which would be grave

>From early testing of this package

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