summaryrefslogtreecommitdiffstats
path: root/recipes/dbus/dbus/dbus-session.init
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@theqtcompany.com>2015-01-29 10:34:25 +0200
committerSamuli Piippo <samuli.piippo@theqtcompany.com>2015-01-29 15:26:39 +0200
commit7c2791f226df89f5b0bcffc2964e96db9dee5f0f (patch)
treecba198834361f73f36a21a9c10410b5ae3d17e47 /recipes/dbus/dbus/dbus-session.init
parent943121c7af2f5db831ded0feb9808f649e58e0b6 (diff)
downloadmeta-boot2qt-7c2791f226df89f5b0bcffc2964e96db9dee5f0f.tar.gz
Start dbus session bus at boot
Session address is saved to /var/run/dbus/session_bus_address, which is read in /etc/profile.d/dbus-session-address for interactive login and by adbd for applications launched from QtCreator. Change-Id: I8e1f43bdb2f7a7b0450dacf39890cf149459bbf4 Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Diffstat (limited to 'recipes/dbus/dbus/dbus-session.init')
-rw-r--r--recipes/dbus/dbus/dbus-session.init103
1 files changed, 103 insertions, 0 deletions
diff --git a/recipes/dbus/dbus/dbus-session.init b/recipes/dbus/dbus/dbus-session.init
new file mode 100644
index 0000000..11a6757
--- /dev/null
+++ b/recipes/dbus/dbus/dbus-session.init
@@ -0,0 +1,103 @@
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 session 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
22DAEMON=@bindir@/dbus-launch
23NAME=dbus-session
24ADDRESSFILE=/var/run/dbus/session_bus_address
25UUIDDIR=/var/lib/dbus
26DESC="session message bus"
27
28test -x $DAEMON || exit 0
29
30# Source defaults file; edit that file to configure this script.
31ENABLED=1
32PARAMS=""
33if [ -e /etc/default/dbus ]; then
34 . /etc/default/dbus
35fi
36
37if [ -e $ADDRESSFILE ]; then
38 . $ADDRESSFILE
39fi
40
41test "$ENABLED" != "0" || exit 0
42
43start_it_up()
44{
45 echo -n "Starting $DESC: "
46 $DAEMON --auto-syntax > $ADDRESSFILE
47 echo "$NAME."
48}
49
50shut_it_down()
51{
52 echo -n "Stopping $DESC: "
53 kill $DBUS_SESSION_BUS_PID
54 echo "$NAME."
55}
56
57reload_it()
58{
59 echo -n "Reloading $DESC config: "
60 dbus-send --print-reply --session --type=method_call \
61 --dest=org.freedesktop.DBus \
62 / org.freedesktop.DBus.ReloadConfig > /dev/null
63 # hopefully this is enough time for dbus to reload it's config file.
64 echo "done."
65}
66
67status_it()
68{
69 if kill -0 $DBUS_SESSION_BUS_PID 2>/dev/null; then
70 echo "$NAME (pid $DBUS_SESSION_BUS_PID) is running..."
71 return 0
72 else
73 echo "$NAME is stopped"
74 fi
75 return 3
76}
77
78case "$1" in
79 start)
80 start_it_up
81 ;;
82 stop)
83 shut_it_down
84 ;;
85 status)
86 status_it
87 exit $?
88 ;;
89 reload|force-reload)
90 reload_it
91 ;;
92 restart)
93 shut_it_down
94 sleep 1
95 start_it_up
96 ;;
97 *)
98 echo "Usage: /etc/init.d/$NAME {start|stop|status|restart|reload|force-reload}" >&2
99 exit 1
100 ;;
101esac
102
103exit 0