The systemd uses /run/wayland-0 as global socket and it is important to
align the behavior so it avoids diverging when using sysvinit. Another
change is installing the ${sysconfdir}/profile.d/weston-socket.sh script
also aligning the behaviors.

The commit modifies the behavior of the weston-init script when running
in sysvinit. It mimics the behavior of systemd by exporting the
WAYLAND_DISPLAY variable and using it as the socket for the weston
command.

The changes include:

- The installation of the weston-socket.sh script in the /etc/profile.d
directory, which sets the WAYLAND_DISPLAY variable to /run/wayland-0 if
it is not already set.

- Modifying the weston-start script to check if the WAYLAND_DISPLAY
variable is set. If not, it sets it to /run/wayland-0.

These changes ensure that the weston command uses the same socket
defined in the WAYLAND_DISPLAY variable, allowing compatibility with
systems using sysvinit and systemd.

Fixes: 2818cbc730 ("weston-init: add profile to point users to global socket")
Tested-by: Tom Hochstein <tom.hochst...@nxp.com>
Signed-off-by: Otavio Salvador <ota...@ossystems.com.br>
---

 meta/recipes-graphics/wayland/weston-init.bb           | 4 +++-
 meta/recipes-graphics/wayland/weston-init/weston-start | 6 +++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/wayland/weston-init.bb 
b/meta/recipes-graphics/wayland/weston-init.bb
index 024e400665..6c8dc36467 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -40,13 +40,15 @@ 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 \
                        ${D}${systemd_system_unitdir}/weston.service
        fi
 
+       # Export the WAYLAND_DISPLAY in case it is using the global socket
+       install -D -p -m0644 ${WORKDIR}/weston-socket.sh 
${D}${sysconfdir}/profile.d/weston-socket.sh
+
        if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
                install -D -p -m0644 ${WORKDIR}/weston-autologin 
${D}${sysconfdir}/pam.d/weston-autologin
        fi
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start 
b/meta/recipes-graphics/wayland/weston-init/weston-start
index 01670cd4f5..7b898bb436 100755
--- a/meta/recipes-graphics/wayland/weston-init/weston-start
+++ b/meta/recipes-graphics/wayland/weston-init/weston-start
@@ -68,4 +68,8 @@ if test -z "$XDG_RUNTIME_DIR"; then
        fi
 fi
 
-su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args 
--log=/tmp/weston.log" $WESTON_USER
+if [ -z "$WAYLAND_DISPLAY" ]; then
+       WAYLAND_DISPLAY=/run/wayland-0
+fi
+
+su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args 
--socket=$WAYLAND_DISPLAY --log=/tmp/weston.log" $WESTON_USER
-- 
2.41.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185541): 
https://lists.openembedded.org/g/openembedded-core/message/185541
Mute This Topic: https://lists.openembedded.org/mt/100553774/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to