]> code.ossystems Code Review - openembedded-core.git/commitdiff
weston: wrapper for weston modules argument
authorPavel Zhukov <pavel@zhukoff.net>
Wed, 15 Sep 2021 08:50:37 +0000 (10:50 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 11 Oct 2021 17:41:02 +0000 (18:41 +0100)
Due to custom option parser implementation weston accepts only one
argument of a given type. As the result if multiple modules add
multiple --modules agruments only last will be used. This fix
introduces wrapper around modules in terms of weston-init to prepare
proper modules argument for weston and adds systemd-notify module into
weston-init module to support Type=notify in systemd service file.

Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
meta/recipes-graphics/wayland/weston-init/weston-start
meta/recipes-graphics/wayland/weston/systemd-notify.weston-start [new file with mode: 0644]
meta/recipes-graphics/wayland/weston_9.0.0.bb

index 0b93dc964a1d9e5348cd3555ddd1a7edb1c0b178..0f1bc4c29d19a13c9be6d297e13fb5559304ae06 100755 (executable)
@@ -21,6 +21,14 @@ add_weston_argument() {
 # Add openvt extra argument
 add_openvt_argument() {
        openvt_args="$openvt_args $1"
+
+}
+## Add module to --modules argument
+add_weston_module() {
+       if [[ "x${weston_modules}" == "x" ]]; then
+               weston_modules="--modules "
+       fi;
+       weston_modules+="${1},"
 }
 
 if [ -n "$WAYLAND_DISPLAY" ]; then
@@ -68,6 +76,9 @@ if [ -d "$modules_dir" ]; then
 
                # process module
                . $m
+               if [[ x"{$weston_modules}" != "x" ]]; then
+                       add_weston_argument "${weston_modules}"
+               fi;
        done
 fi
 
diff --git a/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start b/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start
new file mode 100644 (file)
index 0000000..a97e7b3
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+  
+# SPDX-FileCopyrightText: Huawei Inc.
+# SPDX-License-Identifier: Apache-2.0
+
+
+if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then
+        add_weston_module "systemd-notify.so"
+fi
index 1f1d62ea7ca2b96fe352a4c12921651af0d4cc68..59ab217a3bd15e6e9fb4ff78305f5833803c4f24 100644 (file)
@@ -9,6 +9,7 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
            file://weston.png \
            file://weston.desktop \
            file://xwayland.weston-start \
+           file://systemd-notify.weston-start \
            file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
            file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
            file://0001-meson.build-fix-incorrect-header.patch \
@@ -111,6 +112,10 @@ do_install:append() {
                install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
        fi
 
+       if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
+               install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
+       fi
+
        if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
                chmod u+s ${D}${bindir}/weston-launch
        fi