xref: /OK3568_Linux_fs/buildroot/package/dbus/S30dbus (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# messagebus:   The D-BUS systemwide message bus
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun# chkconfig: 345 97 03
6*4882a593Smuzhiyun# description:  This is a daemon which broadcasts notifications of system events \
7*4882a593Smuzhiyun#               and other messages. See http://www.freedesktop.org/software/dbus/
8*4882a593Smuzhiyun#
9*4882a593Smuzhiyun# processname: dbus-daemon
10*4882a593Smuzhiyun# pidfile: /run/messagebus.pid
11*4882a593Smuzhiyun#
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun# Create needed directories.
14*4882a593Smuzhiyun[ -d /run/dbus ] || mkdir -p /run/dbus
15*4882a593Smuzhiyun[ -d /var/lock/subsys ] || mkdir -p /var/lock/subsys
16*4882a593Smuzhiyun[ -d /tmp/dbus ] || mkdir -p /tmp/dbus
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunRETVAL=0
19*4882a593Smuzhiyun
20*4882a593Smuzhiyunstart() {
21*4882a593Smuzhiyun    printf "Starting system message bus: "
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun    dbus-uuidgen --ensure
24*4882a593Smuzhiyun    dbus-daemon --system
25*4882a593Smuzhiyun    RETVAL=$?
26*4882a593Smuzhiyun    echo "done"
27*4882a593Smuzhiyun    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbus-daemon
28*4882a593Smuzhiyun}
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunstop() {
31*4882a593Smuzhiyun    printf "Stopping system message bus: "
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun    ## we don't want to kill all the per-user $processname, we want
34*4882a593Smuzhiyun    ## to use the pid file *only*; because we use the fake nonexistent
35*4882a593Smuzhiyun    ## program name "$servicename" that should be safe-ish
36*4882a593Smuzhiyun    killall dbus-daemon
37*4882a593Smuzhiyun    RETVAL=$?
38*4882a593Smuzhiyun    echo "done"
39*4882a593Smuzhiyun    if [ $RETVAL -eq 0 ]; then
40*4882a593Smuzhiyun        rm -f /var/lock/subsys/dbus-daemon
41*4882a593Smuzhiyun        rm -f /run/messagebus.pid
42*4882a593Smuzhiyun    fi
43*4882a593Smuzhiyun}
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun# See how we were called.
46*4882a593Smuzhiyuncase "$1" in
47*4882a593Smuzhiyun    start)
48*4882a593Smuzhiyun        start
49*4882a593Smuzhiyun        ;;
50*4882a593Smuzhiyun    stop)
51*4882a593Smuzhiyun        stop
52*4882a593Smuzhiyun        ;;
53*4882a593Smuzhiyun    restart)
54*4882a593Smuzhiyun        stop
55*4882a593Smuzhiyun        start
56*4882a593Smuzhiyun        ;;
57*4882a593Smuzhiyun    condrestart)
58*4882a593Smuzhiyun        if [ -f /var/lock/subsys/$servicename ]; then
59*4882a593Smuzhiyun            stop
60*4882a593Smuzhiyun            start
61*4882a593Smuzhiyun        fi
62*4882a593Smuzhiyun        ;;
63*4882a593Smuzhiyun    reload)
64*4882a593Smuzhiyun        echo "Message bus can't reload its configuration, you have to restart it"
65*4882a593Smuzhiyun        RETVAL=$?
66*4882a593Smuzhiyun        ;;
67*4882a593Smuzhiyun    *)
68*4882a593Smuzhiyun        echo "Usage: $0 {start|stop|restart|condrestart|reload}"
69*4882a593Smuzhiyun        ;;
70*4882a593Smuzhiyunesac
71*4882a593Smuzhiyunexit $RETVAL
72