#!/bin/sh ### BEGIN INIT INFO # Provides: dbus # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: D-Bus systemwide message bus # Description: D-Bus is a simple interprocess messaging system, used # for sending messages between applications. ### END INIT INFO # -*- coding: utf-8 -*- # Debian init.d script for D-BUS # Copyright © 2003 Colin Walters # Copyright © 2005 Sjoerd Simons set -e setvar DAEMON = '/usr/bin/dbus-daemon' setvar UUIDGEN = '/usr/bin/dbus-uuidgen' setvar UUIDGEN_OPTS = '--ensure' setvar NAME = 'dbus' setvar DAEMONUSER = 'messagebus' setvar PIDDIR = '/var/run/dbus' setvar PIDFILE = "$PIDDIR/pid" setvar DESC = ""system message bus"" test -x $DAEMON || exit 0 source /lib/lsb/init-functions # Source defaults file; edit that file to configure this script. setvar PARAMS = """" if test -e /etc/default/dbus { source /etc/default/dbus } proc create_machineid { # Create machine-id file if test -x $UUIDGEN { $UUIDGEN $UUIDGEN_OPTS } } proc start_it_up { if test ! -d $PIDDIR { mkdir -p $PIDDIR chown $DAEMONUSER $PIDDIR chgrp $DAEMONUSER $PIDDIR } if ! mountpoint -q /proc/ { log_failure_msg "Can't start $DESC - /proc is not mounted" return } if test -e $PIDFILE { if $0 status > /dev/null { log_success_msg "$DESC already started; not starting." return } else { log_success_msg "Removing stale PID file $PIDFILE." rm -f $PIDFILE } } create_machineid log_daemon_msg "Starting $DESC" $NAME start-stop-daemon --start --quiet --pidfile $PIDFILE \ --exec $DAEMON -- --system $PARAMS log_end_msg $Status } proc shut_it_down { log_daemon_msg "Stopping $DESC" $NAME start-stop-daemon --stop --retry 5 --quiet --oknodo --pidfile $PIDFILE \ --user $DAEMONUSER # We no longer include these arguments so that start-stop-daemon # can do its job even given that we may have been upgraded. # We rely on the pidfile being sanely managed # --exec $DAEMON -- --system $PARAMS log_end_msg $Status rm -f $PIDFILE } proc reload_it { create_machineid log_action_begin_msg "Reloading $DESC config" dbus-send --print-reply --system --type=method_call \ --dest=org.freedesktop.DBus \ / org.freedesktop.DBus.ReloadConfig > /dev/null # hopefully this is enough time for dbus to reload it's config file. log_action_end_msg $Status } match $1 { with start start_it_up with stop shut_it_down with reload|force-reload reload_it with restart shut_it_down start_it_up with status status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? with * echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload|status}" >&2 exit 2 }