From cad6bf1cbb76ee0bd2ba9c0bcde3c67ad76451b0 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Thu, 4 Feb 2021 11:39:39 +0000
Subject: [PATCH] runtime: Never set XDG_DATA_DIRS to just our override
 directory

This will break the ability to find .desktop files, etc., in their
default search paths. Default to /usr/local/share:/usr/share as per
the specification.

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 pressure-vessel/runtime.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/pressure-vessel/runtime.c b/pressure-vessel/runtime.c
index 465b39409..73dd02901 100644
--- a/pressure-vessel/runtime.c
+++ b/pressure-vessel/runtime.c
@@ -3842,10 +3842,12 @@ pv_runtime_use_provider_graphics_stack (PvRuntime *self,
           xdg_data_dirs = g_environ_getenv (self->original_environ, "XDG_DATA_DIRS");
           override_share = g_build_filename (self->overrides_in_container, "share", NULL);
 
-          if (xdg_data_dirs != NULL)
-            prepended_data_dirs = g_strdup_printf ("%s:%s", override_share, xdg_data_dirs);
-          else
-            prepended_data_dirs = g_steal_pointer (&override_share);
+          /* Reference:
+           * https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html */
+          if (xdg_data_dirs == NULL)
+            xdg_data_dirs = "/usr/local/share:/usr/share";
+
+          prepended_data_dirs = g_strdup_printf ("%s:%s", override_share, xdg_data_dirs);
 
           pv_environ_lock_env (container_env, "XDG_DATA_DIRS",
                                prepended_data_dirs);
-- 
GitLab