From 41591d4f8c586aa801220fac0924556f406c58bd Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Tue, 8 Dec 2020 11:15:02 +0100 Subject: SPEC-3723: restructure meta-agl-demo All demo related components should be in here now. We keep the packagegroups on purpose for now to stay backward-compatible. v2: layer does pass yocto-check-layer, dependencies adapted v3: remove the dynamic-layer setup, use all-in-one approach v4: Fixed comments from Paul Barker. Tnx! v5: Removed wayland/weston/agl-compositor additions, except for demo specific weston-init bbappend Follow-up changes required later: - massaging packagegroups - scrub of recipes Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller Signed-off-by: Scott Murray Change-Id: I47cefd8c23d46b2cdd063470e3f7d97d5ad952d8 --- recipes-core/dbus/dbus/dbus.service | 10 +++++ recipes-core/dbus/dbus/dbus.socket | 9 +++++ recipes-core/dbus/dbus/dbus_env.conf | 5 +++ .../dbus/dbus/libdbus-c++/dbus-c++-threading.patch | 45 ++++++++++++++++++++++ recipes-core/dbus/dbus_%.bbappend | 1 + recipes-core/dbus/dbus_agldemo.inc | 28 ++++++++++++++ .../dbus/libdbus-c++/dbus-c++-threading.patch | 45 ++++++++++++++++++++++ recipes-core/dbus/libdbus-c++_0.9.0.bbappend | 1 + recipes-core/dbus/libdbus-c++_agldemo.inc | 2 + 9 files changed, 146 insertions(+) create mode 100644 recipes-core/dbus/dbus/dbus.service create mode 100644 recipes-core/dbus/dbus/dbus.socket create mode 100644 recipes-core/dbus/dbus/dbus_env.conf create mode 100644 recipes-core/dbus/dbus/libdbus-c++/dbus-c++-threading.patch create mode 100644 recipes-core/dbus/dbus_%.bbappend create mode 100644 recipes-core/dbus/dbus_agldemo.inc create mode 100644 recipes-core/dbus/libdbus-c++/dbus-c++-threading.patch create mode 100644 recipes-core/dbus/libdbus-c++_0.9.0.bbappend create mode 100644 recipes-core/dbus/libdbus-c++_agldemo.inc (limited to 'recipes-core/dbus') diff --git a/recipes-core/dbus/dbus/dbus.service b/recipes-core/dbus/dbus/dbus.service new file mode 100644 index 00000000..dee6ad74 --- /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 00000000..af76b2f1 --- /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 00000000..f8f02669 --- /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 00000000..c4fafef6 --- /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 00000000..8abed712 --- /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 00000000..379c5435 --- /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 00000000..c4fafef6 --- /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 00000000..ee21af86 --- /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 00000000..4c135cc1 --- /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" -- cgit 1.2.3-korg