initctl: monitor and condition control over the bus

The bus can already answer questions and change services, so give
initctl the two things it still did another way: watching signals as
they happen, and getting or setting user conditions.

The dbus tests move with it, split by area rather than one file that
grew every time the library did.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2026-08-13 09:28:14 +02:00
1 parent 0a269f3298
commit dd1390a6c2
13 files changed
+854 -980

No files matched your search

+1 -1
View File
@@ -1 +1 @@
EXTRA_DIST = exec.sh setup.sh start.sh sysroot.mk
EXTRA_DIST = exec.sh setup.sh start.sh sysroot.mk dbus-setup.sh
+20
View File
@@ -0,0 +1,20 @@
# shellcheck shell=sh
# Shared preamble for the D-Bus smoke tests. Expects test/lib/setup.sh
# to have been sourced already (so texec, skip, retry, say, assert are
# available). Skips the test when the libink-driven client was not
# built, otherwise blocks until the bus socket appears.
#
# Exports: CLIENT, BUS.
command -v texec >/dev/null \
|| { echo "dbus-setup.sh: source test/lib/setup.sh first" >&2; exit 99; }
CLIENT=/sbin/dbus-auth-client
BUS=/run/finit/bus
if ! texec test -x "$CLIENT"; then
skip "dbus-auth-client not built (configured with --disable-dbus?)"
fi
say "Wait for $BUS to appear"
retry "texec test -S $BUS"