#!/sbin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later

extra_started_commands="reload"

depend() {
    need localmount
    after bootmisc
}

start() {
    ebegin "Starting D-BUS system messagebus"
    /usr/bin/dbus-uuidgen --ensure=/etc/machine-id

    # We need to test if /run/dbus exists, since script will fail if it does not
    [ ! -e /run/dbus ] && mkdir /run/dbus

    start-stop-daemon --start --pidfile /run/dbus/pid --exec /usr/bin/dbus-daemon -- --system
    eend $?
}

stop() {
    local retval

    ebegin "Stopping D-BUS system messagebus"

    start-stop-daemon --stop --pidfile /run/dbus/pid
    retval=$?

    eend ${retval}

    [ -S /run/dbus/system_bus_socket ] && rm -f /run/dbus/system_bus_socket

    return ${retval}
}

reload() {
    local retval

    ebegin "Reloading D-BUS messagebus config"

    /usr/bin/dbus-send --print-reply --system --type=method_call \
            --dest=org.freedesktop.DBus \
            / org.freedesktop.DBus.ReloadConfig > /dev/null
    retval=$?
    eend ${retval}
    return ${retval}
}

