From: Ross Burton Date: Tue, 4 Mar 2025 11:12:32 +0000 (+0000) Subject: weston-init: improve XDG_RUNTIME_DIR fallback creation X-Git-Tag: yocto-5.2~349 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a977c2a61dfabed9be061d742797248448aa5ade;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git weston-init: improve XDG_RUNTIME_DIR fallback creation Sanity-check the permissions of the directory already exists, and clean up the creation code. Signed-off-by: Ross Burton Signed-off-by: Mathieu Dubois-Briand --- diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start b/meta/recipes-graphics/wayland/weston-init/weston-start index 01670cd4f51..3b13a0047a9 100755 --- a/meta/recipes-graphics/wayland/weston-init/weston-start +++ b/meta/recipes-graphics/wayland/weston-init/weston-start @@ -58,14 +58,19 @@ fi if test -z "$XDG_RUNTIME_DIR"; then export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` - if ! test -d "$XDG_RUNTIME_DIR"; then - mkdir --parents $XDG_RUNTIME_DIR - chmod 0700 $XDG_RUNTIME_DIR - fi - if [ -n "$WESTON_USER" ] - then - chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR + if test -d "$XDG_RUNTIME_DIR"; then + # Check permissions on existing directory + if [ "$(stat -c %u-%a "$XDG_RUNTIME_DIR")" != "$(id -u ${WESTON_USER})-700" ]; then + echo "ERROR: $XDG_RUNTIME_DIR has incorrect permissions" + exit 1 + fi + else + mkdir --mode 0700 --parents $XDG_RUNTIME_DIR + if [ -n "$WESTON_USER" ] + then + chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR + fi fi fi -su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args --log=/tmp/weston.log" $WESTON_USER +su -c "XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR weston $weston_args --log=/tmp/weston.log" $WESTON_USER