Message ID | 20230804200438.1651568-3-otavio@ossystems.com.br |
---|---|
State | New |
Headers | show |
Series | [1/3] weston-init: remove misleading comment about udev rule | expand |
On Fri, Aug 4, 2023 at 1:05 PM Otavio Salvador <otavio@ossystems.com.br> wrote: > > 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.hochstein@nxp.com> > Signed-off-by: Otavio Salvador <otavio@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 This can be set automatically by something like WAYLAND_DISPLAY=`basename /run/user/1000/wayland-[0-9]` That way it can cover more e.g. my variscite/imx8 SOM I have wayland-1 > +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/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Em sex., 4 de ago. de 2023 às 20:54, Khem Raj <raj.khem@gmail.com> escreveu: > On Fri, Aug 4, 2023 at 1:05 PM Otavio Salvador <otavio@ossystems.com.br> wrote: > > -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 > > This can be set automatically by something like > WAYLAND_DISPLAY=`basename /run/user/1000/wayland-[0-9]` > > That way it can cover more e.g. my variscite/imx8 SOM I have wayland-1 This uses the same as systemd, so it has the same behavior. However, it supports users to override it using /etc/default/weston. So it sets this only if unset.
Hello, I believe this change causes this QA failure: https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7576/steps/12/logs/stdio On 04/08/2023 17:04:11-0300, Otavio Salvador wrote: > 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.hochstein@nxp.com> > Signed-off-by: Otavio Salvador <otavio@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/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hello Alexandre, Em seg., 7 de ago. de 2023 às 05:56, Alexandre Belloni via lists.openembedded.org <alexandre.belloni=bootlin.com@lists.openembedded.org> escreveu: > I believe this change causes this QA failure: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7576/steps/12/logs/stdio I'll check this. @Purdie, Richard please hold this patch until I check the error.
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