home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / etc / init.d / dbus < prev    next >
Text File  |  2006-11-29  |  3KB  |  119 lines

  1. #!/bin/sh
  2. # Author: Timo Hoenig <thoenig@suse.de>
  3. #
  4. # /etc/init.d/dbus
  5. #
  6. ### BEGIN INIT INFO
  7. # Provides:          dbus
  8. # Required-Start:
  9. # Should-Start:
  10. # Required-Stop:     
  11. # Should-Stop:
  12. # Default-Start:     2 3 5
  13. # Default-Stop:      
  14. # Short-Description: D-Bus is a message bus system for applications to talk to one another.
  15. # Description:       D-Bus supplies both a system daemon and a per-user-login-session daemon.
  16. #                    Also, the message bus is built on top of a general one-to-one message
  17. #                    passing framework, which can be used by any two apps to communicate
  18. #                    directly (without going through the message bus daemon).
  19. ### END INIT INFO
  20.  
  21. DBUS_DAEMON_BIN=/usr/bin/dbus-daemon
  22. test -x $DBUS_DAEMON_BIN || exit 5
  23.  
  24. DBUS_DAEMON_PARAMETER="--system";
  25. DBUS_DAEMON_PID_DIR="/var/run/dbus";
  26. DBUS_DAEMON_PID=$DBUS_DAEMON_PID_DIR/pid;
  27.  
  28. DBUS_MACHINE_ID_DIR="/var/lib/dbus";
  29. DBUS_MACHINE_ID=$DBUS_MACHINE_ID_DIR/machine-id;
  30.  
  31. DBUS_UUIIDGEN_BIN=/usr/bin/dbus-uuidgen
  32.  
  33. # Source LSB init functions
  34. # providing start_daemon, killproc, pidofproc, 
  35. # log_success_msg, log_failure_msg and log_warning_msg.
  36. # This is currently not used by UnitedLinux based distributions and
  37. # not needed for init scripts for UnitedLinux only. If it is used,
  38. # the functions from rc.status should not be sourced or used.
  39. #. /lib/lsb/init-functions
  40.  
  41. . /etc/rc.status
  42.  
  43. # Reset status of this service
  44. rc_reset
  45.  
  46. case "$1" in
  47.     start)
  48.     if [ ! -d $DBUS_MACHINE_ID_DIR ]; then
  49.         mkdir -p $DBUS_MACHINE_ID_DIR;
  50.         chown messagebus:messagebus $DBUS_MACHINE_ID_DIR;
  51.     fi
  52.     if [ ! -e $DBUS_MACHINE_ID ] && [ -x $DBUS_UUIIDGEN_BIN ]; then
  53.         echo -n "Creating universally unique ID..."
  54.         /usr/bin/dbus-uuidgen --ensure;
  55.         rc_status -v;
  56.     fi
  57.     if [ ! -d $DBUS_DAEMON_PID_DIR ]; then
  58.         mkdir -p $DBUS_DAEMON_PID_DIR;
  59.         chown messagebus:messagebus $DBUS_DAEMON_PID_DIR;
  60.     fi
  61.     if [ -e $DBUS_DAEMON_PID ]; then
  62.         if [ -d /proc/`cat $DBUS_DAEMON_PID` ]; then
  63.             echo "D-Bus already started. Not starting."
  64.             exit 0;
  65.         else
  66.             echo "Removing stale PID file $DBUS_DAEMON_PID.";
  67.             rm -f $DBUS_DAEMON_PID;
  68.         fi
  69.     fi    
  70.     echo -n "Starting D-Bus daemon";
  71.     startproc -f -p $DBUS_DAEMON_PID $DBUS_DAEMON_BIN $DBUS_DAEMON_PARAMETER
  72.     rc_status -v
  73.     ;;
  74.     stop)
  75.     echo -n "Shutting down D-Bus daemon"
  76.     killproc -p $DBUS_DAEMON_PID -TERM $DBUS_DAEMON_BIN
  77.     rm -f $DBUS_DAEMON_PID;
  78.     rc_status -v
  79.     ;;
  80.     try-restart)
  81.     $0 status >/dev/null &&  $0 restart
  82.     rc_status
  83.     ;;
  84.     restart)
  85.     $0 stop
  86.     $0 start
  87.     rc_status
  88.     ;;
  89.     force-reload)
  90.     echo -n "Reload service D-Bus daemon"
  91.     $0 stop  &&  $0 start
  92.     rc_status
  93.     ;;
  94.     reload)
  95.     rc_failed 3
  96.     rc_status -v
  97.     ;;
  98.     status)
  99.     echo -n "Checking for service D-Bus daemon"
  100.     checkproc -k -p $DBUS_DAEMON_PID $DBUS_DAEMON_BIN
  101.     if [ $? -eq 7 ]; then
  102.         rc_failed 3
  103.     fi;
  104.     rc_status -v
  105.     ;;
  106.     probe)
  107.     ## Optional: Probe for the necessity of a reload, print out the
  108.     ## argument to this init script which is required for a reload.
  109.     ## Note: probe is not (yet) part of LSB (as of 1.2)
  110.     # test /etc/FOO/FOO.conf -nt /var/run/FOO.pid && echo reload
  111.     ;;
  112.     *)
  113.     echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
  114.     exit 1
  115.     ;;
  116. esac
  117. rc_exit
  118.  
  119.