]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
weston-init: add profile to point users to global socket
authorRandolph Sapp <rs@ti.com>
Wed, 14 Jun 2023 15:33:31 +0000 (10:33 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 15 Jun 2023 07:00:37 +0000 (08:00 +0100)
Add profile script to point users capable of interacting with the global
socket to it by default.

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/wayland/weston-init.bb
meta/recipes-graphics/wayland/weston-init/weston-socket.sh [new file with mode: 0755]

index 9d892d58f2f461aa1fae169e915cccf147049915..1884b5d4401061516ff5f76bf1318cf20b4d78b5 100644 (file)
@@ -9,6 +9,7 @@ SRC_URI = "file://init \
            file://weston.ini \
            file://weston.service \
            file://weston.socket \
+           file://weston-socket.sh \
            file://weston-autologin \
            file://weston-start"
 
@@ -39,6 +40,7 @@ do_install() {
        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
                install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
                install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
+               install -D -p -m0644 ${WORKDIR}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh
                sed -i -e s:/etc:${sysconfdir}:g \
                        -e s:/usr/bin:${bindir}:g \
                        -e s:/var:${localstatedir}:g \
@@ -88,6 +90,7 @@ INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
 
 FILES:${PN} += "\
     ${sysconfdir}/xdg/weston/weston.ini \
+    ${sysconfdir}/profile.d/weston-socket.sh \
     ${systemd_system_unitdir}/weston.service \
     ${systemd_system_unitdir}/weston.socket \
     ${sysconfdir}/default/weston \
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-socket.sh b/meta/recipes-graphics/wayland/weston-init/weston-socket.sh
new file mode 100755 (executable)
index 0000000..86389d6
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# set weston variables for use with global weston socket
+global_socket="/run/wayland-0"
+if [ -e "$global_socket" ]; then
+       weston_group=$(stat -c "%G" "$global_socket")
+       if [ "$(id -u)" = "0" ]; then
+               export WAYLAND_DISPLAY="$global_socket"
+       else
+               case "$(groups "$USER")" in
+                       *"$weston_group"*)
+                               export WAYLAND_DISPLAY="$global_socket"
+                               ;;
+                       *)
+                               ;;
+               esac
+       fi
+       unset weston_group
+fi
+unset global_socket