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

Lorenzo plorenzo at disroot.org
Sat Dec 10 09:27:24 GMT 2022


Control: tags -1 patch

Hi,

On Mon, 28 Nov 2022 21:03:46 +0100 Martin Steigerwald
<martin at lichtvoll.de> wrote:

> 
> Do I get this right, that first runit sysv emulation runs the init 
> scripts in the correct order and it starts native runit services?

Sysv emulation runs only sysvscripts, then all enabled runit services
are started with runsvdir

> Could runit be instructed to start at least certain or even all Runit
> services before running the init scripts?

It's probably feasible ( but hacky) to run again some initscripts
toghether with other runit services:

Could you please try something like the following

# mkdir /etc/sv/sysv.dep-fixer
# touch /etc/sv/sysv.dep-fixer/run
# chmod +x /etc/sv/sysv.dep-fixer/run

with the following run file
---------------------------------------
# cat /etc/sv/sysv.dep-fixer/run 
#!/bin/sh

sv start dbus  && sv check dbus  || exit 170
sv start elogind  && sv check elogind  || true

for script in '/etc/rc2.d/S'* ; do
        [ ! -x "$script" ] && continue
        path=$(realpath "$script")
        name=${path##*/}
        [ -d "/etc/sv/$name" ] && continue
        if grep -q "$name:.*dbus" /etc/init.d/.depend.start ; then
                echo "$script" start
        fi
done

sv d .

exec sleep 10000
------------------------------------------

then the enable the service and reboot the system; in your test case a
sysv instance of network-manager and bluetooth should be up.

Best,
Lorenzo







More information about the Debian-init-diversity mailing list