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

SSD=/sbin/start-stop-daemon
PROG=/usr/sbin/dbus-daemon
PID=/run/dbus/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

