#!/bin/sh # # messagebus: The D-BUS systemwide message bus # # chkconfig: 23457 53 66 # description: This is a daemon which broadcasts notifications of system events \ # and other messages. See http://www.freedesktop.org/software/dbus/ # # processname: dbus-daemon # pidfile: /var/run/messagebus.pid # ### BEGIN INIT INFO # Provides: messagebus # Required-Start: $syslog $local_fs # Required-Stop: $syslog $local_fs # Should-Start: network-auth # Default-Start: 2 3 4 5 7 # Default-Stop: 0 1 6 # Short-Description: The D-Bus systemwide message bus # Description: This is a daemon which broadcasts notifications of system # events and other messages. See http://www.freedesktop.org/software/dbus ### END INIT INFO # Sanity checks. [ -x /usr/bin/dbus-daemon ] || exit 0 # Source function library. . /etc/rc.d/init.d/functions # so we can rearrange this easily processname=dbus-daemon servicename=messagebus RETVAL=0 start() { # are we running from systemd? systemd_enabled=$([ -x /bin/systemctl ] && /bin/systemctl is-active dbus.service) if [ "$systemd_enabled" = "active" ]; then gprintf "Running from systemd\n" return fi gprintf "Starting system message bus: " if [ -x /usr/bin/dbus-uuidgen ] ; then /usr/bin/dbus-uuidgen --ensure fi daemon --check $servicename $processname --system RETVAL=$? countdown=10 until [ -e /var/run/dbus/system_bus_socket -o $countdown -eq 0 ]; do sleep 1; let countdown=$countdown-1; done echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename } stop() { systemd_enabled=$( [ -x /bin/systemctl ] && /bin/systemctl is-active dbus.service) if [ "$systemd_enabled" = "active" ]; then gprintf "Running from systemd\n" return fi gprintf "Stopping system message bus: " ## we don't want to kill all the per-user $processname, we want ## to use the pid file *only*; because we use the fake nonexistent ## program name "$servicename" that should be safe-ish killproc $servicename -TERM RETVAL=$? echo if [ $RETVAL -eq 0 ]; then rm -f /var/lock/subsys/$servicename rm -f /var/run/messagebus.pid fi } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $servicename RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/$servicename ]; then stop start fi ;; reload) gprintf "Message bus can't reload its configuration, you have to restart it\n" RETVAL=$? ;; *) gprintf "Usage: %s {start|stop|status|restart|condrestart|reload}\n" "$0" ;; esac exit $RETVAL