diff options
-rw-r--r-- | recipes/dbus/dbus/dbus-session.init | 13 | ||||
-rw-r--r-- | recipes/dbus/dbus/dbus-session.service | 13 | ||||
-rw-r--r-- | recipes/dbus/dbus_%.bbappend | 24 |
3 files changed, 45 insertions, 5 deletions
diff --git a/recipes/dbus/dbus/dbus-session.init b/recipes/dbus/dbus/dbus-session.init index 11a6757..0690511 100644 --- a/recipes/dbus/dbus/dbus-session.init +++ b/recipes/dbus/dbus/dbus-session.init | |||
@@ -1,4 +1,4 @@ | |||
1 | #! /bin/sh | 1 | #!/bin/sh |
2 | ### BEGIN INIT INFO | 2 | ### BEGIN INIT INFO |
3 | # Provides: dbus | 3 | # Provides: dbus |
4 | # Required-Start: $remote_fs $syslog | 4 | # Required-Start: $remote_fs $syslog |
@@ -17,13 +17,16 @@ | |||
17 | # set -e | 17 | # set -e |
18 | 18 | ||
19 | # Source function library. | 19 | # Source function library. |
20 | . /etc/init.d/functions | 20 | #. /etc/init.d/functions |
21 | 21 | ||
22 | DAEMON=@bindir@/dbus-launch | 22 | DAEMON=@bindir@/dbus-launch |
23 | NAME=dbus-session | 23 | NAME=dbus-session |
24 | ADDRESSFILE=/var/run/dbus/session_bus_address | 24 | ADDRESSFILE=/var/run/dbus/session_bus_address |
25 | UUIDDIR=/var/lib/dbus | 25 | UUIDDIR=/var/lib/dbus |
26 | DESC="session message bus" | 26 | DESC="session message bus" |
27 | APPCONTROLLERPATH="/tmp/b2qt/appcontroller.conf.d" | ||
28 | APPCONTROLLERADDRESSFILE="session_bus_address" | ||
29 | |||
27 | 30 | ||
28 | test -x $DAEMON || exit 0 | 31 | test -x $DAEMON || exit 0 |
29 | 32 | ||
@@ -38,12 +41,18 @@ if [ -e $ADDRESSFILE ]; then | |||
38 | . $ADDRESSFILE | 41 | . $ADDRESSFILE |
39 | fi | 42 | fi |
40 | 43 | ||
44 | if [ ! -d $APPCONTROLLERPATH ]; then | ||
45 | mkdir -p $APPCONTROLLERPATH | ||
46 | fi | ||
47 | |||
41 | test "$ENABLED" != "0" || exit 0 | 48 | test "$ENABLED" != "0" || exit 0 |
42 | 49 | ||
43 | start_it_up() | 50 | start_it_up() |
44 | { | 51 | { |
45 | echo -n "Starting $DESC: " | 52 | echo -n "Starting $DESC: " |
46 | $DAEMON --auto-syntax > $ADDRESSFILE | 53 | $DAEMON --auto-syntax > $ADDRESSFILE |
54 | ADDR=`cat $ADDRESSFILE|grep -i DBUS_SESSION_BUS_ADDRESS=` | ||
55 | echo "env=${ADDR%?}" |tr -d \' > ${APPCONTROLLERPATH}/${APPCONTROLLERADDRESSFILE} | ||
47 | echo "$NAME." | 56 | echo "$NAME." |
48 | } | 57 | } |
49 | 58 | ||
diff --git a/recipes/dbus/dbus/dbus-session.service b/recipes/dbus/dbus/dbus-session.service new file mode 100644 index 0000000..dbd6fcd --- /dev/null +++ b/recipes/dbus/dbus/dbus-session.service | |||
@@ -0,0 +1,13 @@ | |||
1 | [Unit] | ||
2 | Description=D-BUS Session Message Bus. | ||
3 | After=dbus.service | ||
4 | |||
5 | [Service] | ||
6 | Type=forking | ||
7 | ExecStart=/usr/bin/dbus-session.init start | ||
8 | ExecStop=/usr/bin/dbus-session.init stop | ||
9 | Environment=HOME=/home/root | ||
10 | |||
11 | [Install] | ||
12 | WantedBy=multi-user.target | ||
13 | |||
diff --git a/recipes/dbus/dbus_%.bbappend b/recipes/dbus/dbus_%.bbappend index b7fff89..f9f1345 100644 --- a/recipes/dbus/dbus_%.bbappend +++ b/recipes/dbus/dbus_%.bbappend | |||
@@ -27,28 +27,46 @@ | |||
27 | ## | 27 | ## |
28 | ############################################################################ | 28 | ############################################################################ |
29 | 29 | ||
30 | inherit systemd | ||
31 | |||
30 | FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" | 32 | FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" |
31 | SRC_URI += " \ | 33 | SRC_URI += " \ |
32 | file://dbus-session.init \ | 34 | file://dbus-session.init \ |
35 | file://dbus-session.service \ | ||
33 | file://dbus-session-address \ | 36 | file://dbus-session-address \ |
34 | " | 37 | " |
35 | |||
36 | INITSCRIPT_PACKAGES = "${PN} ${PN}-session-init" | 38 | INITSCRIPT_PACKAGES = "${PN} ${PN}-session-init" |
37 | INITSCRIPT_NAME_${PN}-session-init = "dbus-session" | 39 | INITSCRIPT_NAME_${PN}-session-init = "dbus-session" |
38 | INITSCRIPT_PARAMS_${PN}-session-init = "start 20 5 3 2 . stop 10 0 1 6 ." | 40 | INITSCRIPT_PARAMS_${PN}-session-init = "start 20 5 3 2 . stop 10 0 1 6 ." |
39 | 41 | ||
40 | PACKAGES =+ "${PN}-session-init" | 42 | PACKAGES =+ "${PN}-session-init" |
43 | SYSTEMD_PACKAGES =+ "${PN}-session-init" | ||
44 | |||
41 | FILES_${PN}-session-init = " \ | 45 | FILES_${PN}-session-init = " \ |
42 | ${sysconfdir}/init.d/dbus-session \ | 46 | ${sysconfdir}/init.d/dbus-session \ |
43 | ${sysconfdir}/profile.d/dbus-session-address \ | 47 | ${sysconfdir}/profile.d/dbus-session-address \ |
48 | ${bindir}/dbus-session.init \ | ||
49 | ${systemd_unitdir}/system/dbus-session.service \ | ||
44 | " | 50 | " |
45 | 51 | ||
46 | do_install_append_class-target() { | 52 | do_install_append_class-target() { |
53 | sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-session.init >${WORKDIR}/dbus-session.init | ||
54 | |||
47 | if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 55 | if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
48 | install -d ${D}${sysconfdir}/init.d | 56 | install -d ${D}${sysconfdir}/init.d |
49 | sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-session.init >${WORKDIR}/dbus-session.init.sh | 57 | install -m 0755 ${WORKDIR}/dbus-session.init ${D}${sysconfdir}/init.d/dbus-session |
50 | install -m 0755 ${WORKDIR}/dbus-session.init.sh ${D}${sysconfdir}/init.d/dbus-session | ||
51 | fi | 58 | fi |
59 | |||
60 | if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
61 | install -m 0755 -d ${D}${bindir}/ | ||
62 | install -m 0755 ${WORKDIR}/dbus-session.init ${D}${bindir}/ | ||
63 | |||
64 | install -m 0755 -d ${D}${systemd_unitdir}/system | ||
65 | install -m 0644 ${WORKDIR}/dbus-session.service ${D}${systemd_unitdir}/system/ | ||
66 | fi | ||
67 | |||
52 | install -d ${D}${sysconfdir}/profile.d | 68 | install -d ${D}${sysconfdir}/profile.d |
53 | install -m 0755 ${WORKDIR}/dbus-session-address ${D}${sysconfdir}/profile.d/ | 69 | install -m 0755 ${WORKDIR}/dbus-session-address ${D}${sysconfdir}/profile.d/ |
54 | } | 70 | } |
71 | |||
72 | SYSTEMD_SERVICE_${PN}-session-init = "dbus-session.service" | ||