#!/bin/sh
#
# /etc/rc.d/dbus: start/stop dbus messagebus daemon
#

SSD=/sbin/start-stop-daemon
PROG=/usr/sbin/dbus-daemon
PID=/run/dbus/pid
OPTS="--system"

case $1 in
	start)
		if [ ! -f /var/lib/dbus/machine-id ]
		then
			/usr/bin/dbus-uuidgen --ensure
		fi
		mkdir -p /run/dbus
		$SSD --start --pidfile=$PID --exec $PROG -- $OPTS
		;;

	stop)
		$SSD --stop --remove-pidfile --retry 10 --pidfile=$PID
		;;

	restart)
		$0 stop
		$0 start
		;;

	status)
		$SSD --status --exec $PROG
		case $? in
			0) echo "$PROG is running with pid $(cat $PID)" ;;
			1) echo "$PROG is not running but the pid file $PID exists" ;;
			3) echo "$PROG is not running" ;;
			4) echo "Unable to determine the program status" ;;
		esac
		;;

	*)
	echo "usage: $0 [start|stop|restart|status]"
	;;
esac
