From d3cca1280cf96aec035fa686ba273bb7c5f2dbd7 Mon Sep 17 00:00:00 2001
From: Scott Murray <scott.murray@konsulko.com>
Date: Mon, 20 Dec 2021 19:35:16 -0500
Subject: [PATCH] meta-app-framework: agl-session: Ensure XDG_DATA_DIRS is set

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>
---
 .../recipes-config/agl-session/agl-session_0.1.bb              | 10 +++++++++-
 .../recipes-config/agl-session/files/50-xdg-data-dirs.sh       |  7 +++++++
 2 files changed, 16 insertions(+), 1 deletion(-)
 create mode 100644 meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh

diff --git a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb b/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb
index abde287ac..696533383 100644
--- a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb
+++ b/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb
@@ -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
index 000000000..15ec3744a
--- /dev/null
+++ b/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh
@@ -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}"
-- 
2.16.6