meta-app-framework: agl-session: Ensure XDG_DATA_DIRS is set 48/27048/3
authorScott Murray <scott.murray@konsulko.com>
Tue, 21 Dec 2021 00:35:16 +0000 (19:35 -0500)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 21 Dec 2021 14:57:19 +0000 (14:57 +0000)
Add installation of a systemd user-environment-generator scriptlet
to the agl-session recipe to ensure that XDG_DATA_DIRS is set to a
reasonable default value.  This is required for locating D-Bus
activation .service files and icons.

Bug-AGL: SPEC-4182

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I5d1a72022ca97f25a915b64205bf70ab33516ec6
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27048
Reviewed-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb
meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh [new file with mode: 0644]

index abde287..6965333 100644 (file)
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7ca
 SRC_URI = "\
     file://agl-session@.service \
     file://agl-session.target \
+    file://50-xdg-data-dirs.sh \
 "
 
 inherit systemd allarch useradd
@@ -30,6 +31,13 @@ do_install() {
 
     install -d ${D}${systemd_user_unitdir}
     install -m 0644 ${WORKDIR}/agl-session.target ${D}${systemd_user_unitdir}
+
+    install -d ${D}${libdir}/systemd/user-environment-generators
+    install -m 0755 ${WORKDIR}/50-xdg-data-dirs.sh ${D}${libdir}/systemd/user-environment-generators/
 }
 
-FILES:${PN} += "${systemd_system_unitdir} ${systemd_user_unitdir}"
+FILES:${PN} += " \
+    ${systemd_system_unitdir} \
+    ${systemd_user_unitdir} \
+    ${libdir}/systemd/user-environment-generators/ \
+"
diff --git a/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh b/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh
new file mode 100644 (file)
index 0000000..15ec374
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# use a default value if not already set
+XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}"
+
+# write our output
+echo "XDG_DATA_DIRS=${XDG_DATA_DIRS}"