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