home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # Author: Timo Hoenig <thoenig@suse.de>
- #
- # /etc/init.d/dbus
- #
- ### BEGIN INIT INFO
- # Provides: dbus
- # Required-Start:
- # Should-Start:
- # Required-Stop:
- # Should-Stop:
- # Default-Start: 2 3 5
- # Default-Stop:
- # Short-Description: D-Bus is a message bus system for applications to talk to one another.
- # Description: D-Bus supplies both a system daemon and a per-user-login-session daemon.
- # Also, the message bus is built on top of a general one-to-one message
- # passing framework, which can be used by any two apps to communicate
- # directly (without going through the message bus daemon).
- ### END INIT INFO
-
- DBUS_DAEMON_BIN=/usr/bin/dbus-daemon
- test -x $DBUS_DAEMON_BIN || exit 5
-
- DBUS_DAEMON_PARAMETER="--system";
- DBUS_DAEMON_PID_DIR="/var/run/dbus";
- DBUS_DAEMON_PID=$DBUS_DAEMON_PID_DIR/pid;
-
- DBUS_MACHINE_ID_DIR="/var/lib/dbus";
- DBUS_MACHINE_ID=$DBUS_MACHINE_ID_DIR/machine-id;
-
- DBUS_UUIIDGEN_BIN=/usr/bin/dbus-uuidgen
-
- # Source LSB init functions
- # providing start_daemon, killproc, pidofproc,
- # log_success_msg, log_failure_msg and log_warning_msg.
- # This is currently not used by UnitedLinux based distributions and
- # not needed for init scripts for UnitedLinux only. If it is used,
- # the functions from rc.status should not be sourced or used.
- #. /lib/lsb/init-functions
-
- . /etc/rc.status
-
- # Reset status of this service
- rc_reset
-
- case "$1" in
- start)
- if [ ! -d $DBUS_MACHINE_ID_DIR ]; then
- mkdir -p $DBUS_MACHINE_ID_DIR;
- chown messagebus:messagebus $DBUS_MACHINE_ID_DIR;
- fi
- if [ ! -e $DBUS_MACHINE_ID ] && [ -x $DBUS_UUIIDGEN_BIN ]; then
- echo -n "Creating universally unique ID..."
- /usr/bin/dbus-uuidgen --ensure;
- rc_status -v;
- fi
- if [ ! -d $DBUS_DAEMON_PID_DIR ]; then
- mkdir -p $DBUS_DAEMON_PID_DIR;
- chown messagebus:messagebus $DBUS_DAEMON_PID_DIR;
- fi
- if [ -e $DBUS_DAEMON_PID ]; then
- if [ -d /proc/`cat $DBUS_DAEMON_PID` ]; then
- echo "D-Bus already started. Not starting."
- exit 0;
- else
- echo "Removing stale PID file $DBUS_DAEMON_PID.";
- rm -f $DBUS_DAEMON_PID;
- fi
- fi
- echo -n "Starting D-Bus daemon";
- startproc -f -p $DBUS_DAEMON_PID $DBUS_DAEMON_BIN $DBUS_DAEMON_PARAMETER
- rc_status -v
- ;;
- stop)
- echo -n "Shutting down D-Bus daemon"
- killproc -p $DBUS_DAEMON_PID -TERM $DBUS_DAEMON_BIN
- rm -f $DBUS_DAEMON_PID;
- rc_status -v
- ;;
- try-restart)
- $0 status >/dev/null && $0 restart
- rc_status
- ;;
- restart)
- $0 stop
- $0 start
- rc_status
- ;;
- force-reload)
- echo -n "Reload service D-Bus daemon"
- $0 stop && $0 start
- rc_status
- ;;
- reload)
- rc_failed 3
- rc_status -v
- ;;
- status)
- echo -n "Checking for service D-Bus daemon"
- checkproc -k -p $DBUS_DAEMON_PID $DBUS_DAEMON_BIN
- if [ $? -eq 7 ]; then
- rc_failed 3
- fi;
- rc_status -v
- ;;
- probe)
- ## Optional: Probe for the necessity of a reload, print out the
- ## argument to this init script which is required for a reload.
- ## Note: probe is not (yet) part of LSB (as of 1.2)
- # test /etc/FOO/FOO.conf -nt /var/run/FOO.pid && echo reload
- ;;
- *)
- echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
- exit 1
- ;;
- esac
- rc_exit
-
-