42c86297c3d3870ae4ca28ee344c34ca3bc79ffc
[scm/bb/meta-tizen.git] / meta-tizen-adaptation / recipes-core / dbus / dbus / dbus-1.init
1 #! /bin/sh
2 ### BEGIN INIT INFO
3 # Provides:          dbus
4 # Required-Start:    $remote_fs $syslog
5 # Required-Stop:     $remote_fs $syslog
6 # Default-Start:     2 3 4 5
7 # Default-Stop:      1
8 # Short-Description: D-Bus systemwide message bus
9 # Description:       D-Bus is a simple interprocess messaging system, used
10 #                    for sending messages between applications.
11 ### END INIT INFO
12 #
13 # -*- coding: utf-8 -*-
14 # Debian init.d script for D-BUS
15 # Copyright © 2003 Colin Walters <walters@debian.org>
16
17 # set -e
18
19 # Source function library.
20 . /etc/init.d/functions
21
22 DAEMON=@bindir@/dbus-daemon
23 NAME=dbus
24 DAEMONUSER=messagebus           # must match /etc/dbus-1/system.conf
25 PIDFILE=/var/run/messagebus.pid # must match /etc/dbus-1/system.conf
26 UUIDDIR=/var/lib/dbus
27 DESC="system message bus"
28 EVENTDIR=/etc/dbus-1/event.d
29
30 test -x $DAEMON || exit 0
31
32 # Source defaults file; edit that file to configure this script.
33 ENABLED=1
34 PARAMS=""
35 if [ -e /etc/default/dbus ]; then
36   . /etc/default/dbus
37 fi
38
39 test "$ENABLED" != "0" || exit 0
40
41 start_it_up()
42 {
43   mkdir -p "`dirname $PIDFILE`"
44   if [ -e $PIDFILE ]; then
45     PIDDIR=/proc/$(cat $PIDFILE)
46     if [ -d ${PIDDIR} -a  "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then 
47       echo "$DESC already started; not starting."
48     else
49       echo "Removing stale PID file $PIDFILE."
50       rm -f $PIDFILE
51     fi
52   fi
53
54   if [ ! -d $UUIDDIR ]; then
55     mkdir -p $UUIDDIR
56     chown $DAEMONUSER $UUIDDIR
57     chgrp $DAEMONUSER $UUIDDIR
58   fi
59  
60   dbus-uuidgen --ensure  
61
62   echo -n "Starting $DESC: "
63   start-stop-daemon -o --start --quiet --pidfile $PIDFILE \
64     --user $DAEMONUSER --exec $DAEMON -- --system $PARAMS
65   echo "$NAME."
66   if [ -d $EVENTDIR ]; then
67       run-parts --arg=start $EVENTDIR
68   fi
69 }
70
71 shut_it_down()
72 {
73   if [ -d $EVENTDIR ]; then
74       # TODO: --reverse when busybox supports it
75       run-parts --arg=stop $EVENTDIR
76   fi
77   echo -n "Stopping $DESC: "
78   start-stop-daemon -o --stop  --quiet --pidfile $PIDFILE \
79     --user $DAEMONUSER
80   # We no longer include these arguments so that start-stop-daemon
81   # can do its job even given that we may have been upgraded.
82   # We rely on the pidfile being sanely managed
83   # --exec $DAEMON -- --system $PARAMS
84   echo "$NAME."
85   rm -f $PIDFILE
86 }
87
88 reload_it()
89 {
90   echo -n "Reloading $DESC config: "
91   dbus-send --print-reply --system --type=method_call \
92             --dest=org.freedesktop.DBus \
93             / org.freedesktop.DBus.ReloadConfig > /dev/null
94   # hopefully this is enough time for dbus to reload it's config file.
95   echo "done."
96 }
97
98 case "$1" in
99   start)
100     start_it_up
101   ;;
102   stop)
103     shut_it_down
104   ;;
105   status)
106     status $DAEMON
107     exit $?
108   ;;
109   reload|force-reload)
110     reload_it
111   ;;
112   restart)
113     shut_it_down
114     sleep 1
115     start_it_up
116   ;;
117   *)
118     echo "Usage: /etc/init.d/$NAME {start|stop|status|restart|reload|force-reload}" >&2
119     exit 1
120   ;;
121 esac
122
123 exit 0