summaryrefslogtreecommitdiffstats
path: root/recipes-core/dbus
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/dbus')
-rw-r--r--recipes-core/dbus/dbus/dbus.service10
-rw-r--r--recipes-core/dbus/dbus/dbus.socket9
-rw-r--r--recipes-core/dbus/dbus/dbus_env.conf5
-rw-r--r--recipes-core/dbus/dbus/libdbus-c++/dbus-c++-threading.patch45
-rw-r--r--recipes-core/dbus/dbus_%.bbappend1
-rw-r--r--recipes-core/dbus/dbus_agldemo.inc28
-rw-r--r--recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch45
-rw-r--r--recipes-core/dbus/libdbus-c++_0.9.0.bbappend1
-rw-r--r--recipes-core/dbus/libdbus-c++_agldemo.inc2
9 files changed, 146 insertions, 0 deletions
diff --git a/recipes-core/dbus/dbus/dbus.service b/recipes-core/dbus/dbus/dbus.service
new file mode 100644
index 000000000..dee6ad741
--- /dev/null
+++ b/recipes-core/dbus/dbus/dbus.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=D-Bus User Message Bus
+Documentation=man:dbus-daemon(1)
+Requires=dbus.socket
+
+[Service]
+ExecStart=/usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
+ExecReload=/usr/bin/dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
+Restart=always
+RestartSec=1
diff --git a/recipes-core/dbus/dbus/dbus.socket b/recipes-core/dbus/dbus/dbus.socket
new file mode 100644
index 000000000..af76b2f12
--- /dev/null
+++ b/recipes-core/dbus/dbus/dbus.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=D-Bus User Message Bus Socket
+Before=sockets.target
+
+[Socket]
+ListenStream=%t/bus
+
+[Install]
+WantedBy=default.target
diff --git a/recipes-core/dbus/dbus/dbus_env.conf b/recipes-core/dbus/dbus/dbus_env.conf
new file mode 100644
index 000000000..f8f02669b
--- /dev/null
+++ b/recipes-core/dbus/dbus/dbus_env.conf
@@ -0,0 +1,5 @@
+[Unit]
+Wants=dbus.service
+
+[Service]
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%I/bus
diff --git a/recipes-core/dbus/dbus/libdbus-c++/dbus-c++-threading.patch b/recipes-core/dbus/dbus/libdbus-c++/dbus-c++-threading.patch
new file mode 100644
index 000000000..c4fafef62
--- /dev/null
+++ b/recipes-core/dbus/dbus/libdbus-c++/dbus-c++-threading.patch
@@ -0,0 +1,45 @@
+--- libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h.threading 2017-02-15 13:40:53.796004263 +0000
++++ libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h 2017-02-15 13:40:46.907000493 +0000
+@@ -188,6 +188,7 @@
+ /* classes for multithreading support
+ */
+
++#if 0
+ class DXXAPI Mutex
+ {
+ public:
+@@ -243,9 +244,11 @@
+ typedef bool (*CondVarWaitTimeoutFn)(CondVar *cv, Mutex *mx, int timeout);
+ typedef void (*CondVarWakeOneFn)(CondVar *cv);
+ typedef void (*CondVarWakeAllFn)(CondVar *cv);
++#endif
+
+ void DXXAPI _init_threading();
+
++#if 0
+ void DXXAPI _init_threading(
+ MutexNewFn, MutexFreeFn, MutexLockFn, MutexUnlockFn,
+ CondVarNewFn, CondVarFreeFn, CondVarWaitFn, CondVarWaitTimeoutFn, CondVarWakeOneFn, CondVarWakeAllFn
+@@ -312,6 +315,7 @@
+ cv->wake_all();
+ }
+ };
++#endif
+
+ } /* namespace DBus */
+
+--- libdbus-c++-0.9.0/src/dispatcher.cpp.threading 2017-02-15 13:48:22.627249868 +0000
++++ libdbus-c++-0.9.0/src/dispatcher.cpp 2017-02-15 13:48:29.164253445 +0000
+@@ -253,6 +253,7 @@
+ #endif//DBUS_HAS_THREADS_INIT_DEFAULT
+ }
+
++#if 0
+ void DBus::_init_threading(
+ MutexNewFn m1,
+ MutexFreeFn m2,
+@@ -318,3 +319,4 @@
+ #endif//DBUS_HAS_RECURSIVE_MUTEX
+ dbus_threads_init(&functions);
+ }
++#endif
diff --git a/recipes-core/dbus/dbus_%.bbappend b/recipes-core/dbus/dbus_%.bbappend
new file mode 100644
index 000000000..8abed7128
--- /dev/null
+++ b/recipes-core/dbus/dbus_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'dbus_agldemo.inc', '', d)}
diff --git a/recipes-core/dbus/dbus_agldemo.inc b/recipes-core/dbus/dbus_agldemo.inc
new file mode 100644
index 000000000..379c5435e
--- /dev/null
+++ b/recipes-core/dbus/dbus_agldemo.inc
@@ -0,0 +1,28 @@
+FILESEXTRAPATHS_append := ":${THISDIR}/dbus"
+
+SRC_URI += "file://dbus.service \
+ file://dbus.socket \
+ file://dbus_env.conf \
+ "
+
+inherit systemd
+
+do_install_append() {
+ if [ "${PN}" != "nativesdk-dbus" ]; then
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -m 644 -p -D ${WORKDIR}/dbus.service ${D}${systemd_user_unitdir}/dbus.service
+ install -m 644 -p -D ${WORKDIR}/dbus.socket ${D}${systemd_user_unitdir}/dbus.socket
+ install -m 644 -p -D ${WORKDIR}/dbus_env.conf ${D}${systemd_system_unitdir}/user@.service.d/dbus_env.conf
+
+ # Execute these manually on behalf of systemctl script (from systemd-systemctl-native.bb)
+ # because it does not support systemd's user mode.
+ mkdir -p ${D}/etc/systemd/user/default.target.wants/
+ ln -sf ${systemd_user_unitdir}/dbus.socket ${D}/etc/systemd/user/default.target.wants/dbus.socket
+ fi
+ fi
+}
+
+FILES_${PN} += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/dbus.*', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_system_unitdir}/user@.service.d/dbus_env.conf', '', d)} \
+ "
diff --git a/recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch b/recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch
new file mode 100644
index 000000000..c4fafef62
--- /dev/null
+++ b/recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch
@@ -0,0 +1,45 @@
+--- libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h.threading 2017-02-15 13:40:53.796004263 +0000
++++ libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h 2017-02-15 13:40:46.907000493 +0000
+@@ -188,6 +188,7 @@
+ /* classes for multithreading support
+ */
+
++#if 0
+ class DXXAPI Mutex
+ {
+ public:
+@@ -243,9 +244,11 @@
+ typedef bool (*CondVarWaitTimeoutFn)(CondVar *cv, Mutex *mx, int timeout);
+ typedef void (*CondVarWakeOneFn)(CondVar *cv);
+ typedef void (*CondVarWakeAllFn)(CondVar *cv);
++#endif
+
+ void DXXAPI _init_threading();
+
++#if 0
+ void DXXAPI _init_threading(
+ MutexNewFn, MutexFreeFn, MutexLockFn, MutexUnlockFn,
+ CondVarNewFn, CondVarFreeFn, CondVarWaitFn, CondVarWaitTimeoutFn, CondVarWakeOneFn, CondVarWakeAllFn
+@@ -312,6 +315,7 @@
+ cv->wake_all();
+ }
+ };
++#endif
+
+ } /* namespace DBus */
+
+--- libdbus-c++-0.9.0/src/dispatcher.cpp.threading 2017-02-15 13:48:22.627249868 +0000
++++ libdbus-c++-0.9.0/src/dispatcher.cpp 2017-02-15 13:48:29.164253445 +0000
+@@ -253,6 +253,7 @@
+ #endif//DBUS_HAS_THREADS_INIT_DEFAULT
+ }
+
++#if 0
+ void DBus::_init_threading(
+ MutexNewFn m1,
+ MutexFreeFn m2,
+@@ -318,3 +319,4 @@
+ #endif//DBUS_HAS_RECURSIVE_MUTEX
+ dbus_threads_init(&functions);
+ }
++#endif
diff --git a/recipes-core/dbus/libdbus-c++_0.9.0.bbappend b/recipes-core/dbus/libdbus-c++_0.9.0.bbappend
new file mode 100644
index 000000000..ee21af860
--- /dev/null
+++ b/recipes-core/dbus/libdbus-c++_0.9.0.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'libdbus-c++_agldemo.inc', '', d)}
diff --git a/recipes-core/dbus/libdbus-c++_agldemo.inc b/recipes-core/dbus/libdbus-c++_agldemo.inc
new file mode 100644
index 000000000..4c135cc1c
--- /dev/null
+++ b/recipes-core/dbus/libdbus-c++_agldemo.inc
@@ -0,0 +1,2 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/libdbus-c++:"
+SRC_URI_append = " file://dbus-c++-threading.patch"