Depending on other services
I mentioned how some services like connmand
and bluetoothd
require D-Bus. D-Bus is a message system bus that enables publish-subscribe interprocess communication. The Buildroot package for D-Bus provides a system dbus-daemon
and a reference libdbus
library. The libdbus
library implements the low-level D-Bus C API but higher-level bindings to libdbus
exist for other languages like Python. Some languages also offer alternative implementations of the D-Bus protocol that do not depend on libdbus
at all. D-Bus services such as connmand
and bluetoothd
expect the system dbus-daemon
to already be running before they can start.
Start dependencies
The official runit
documentation recommends using sv start
to express dependencies on other services under the control of runit
. To make sure D-Bus is available before connmand
starts, you should define your /etc/sv/connmand/run
accordingly:
#!/bin/sh /bin/sv start /etc/sv/dbus > /dev/null || exit 1 exec /usr...