#!/sbin/openrc-run
name="System Message Bus"
description="D-Bus System Message Bus"

extra_started_commands="reload"

command="/usr/bin/dbus-daemon"
command_args="--system --nofork --nopidfile --syslog-only ${command_args:-}"
command_background="yes"
pidfile="/run/$RC_SVCNAME.pid"

depend() {
	need localmount
	after bootmisc
}

start_pre() {
	checkpath -d -m755 -o "${command_user:-root:messagebus}" /run/dbus || return 1

	/usr/bin/dbus-uuidgen --ensure="${machine_id:-/etc/machine-id}"
}

stop_post() {
	[ ! -S /run/dbus/system_bus_socket ] || rm -f /run/dbus/system_bus_socket
}

reload() {
	ebegin "Reloading $name configuration"
	/usr/bin/dbus-send --print-reply --system --type=method_call \
			--dest=org.freedesktop.DBus \
			/ org.freedesktop.DBus.ReloadConfig > /dev/null
	eend $?
}
