summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2021-01-08 16:01:02 +0000
committerAlexander Larsson <alexander.larsson@gmail.com>2021-04-07 09:52:50 +0200
commit3f2eeb6dc80a30a94be46e0dbeebcaddfb258845 (patch)
treee2094408774c5dd15aa548944126eb6a40739186
parent90aa6c9b790a0ce89dd793292a1043d65e18e697 (diff)
downloadflatpak-3f2eeb6dc80a30a94be46e0dbeebcaddfb258845.tar.gz
flatpak_run_setup_usr_links: Add control over the mount point
Signed-off-by: Simon McVittie <smcv@collabora.com>
-rw-r--r--common/flatpak-run.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/common/flatpak-run.c b/common/flatpak-run.c
index a21f0f24..4fa8b68e 100644
--- a/common/flatpak-run.c
+++ b/common/flatpak-run.c
@@ -2936,7 +2936,8 @@ setup_seccomp (FlatpakBwrap *bwrap,
static void
flatpak_run_setup_usr_links (FlatpakBwrap *bwrap,
- GFile *runtime_files)
+ GFile *runtime_files,
+ const char *sysroot)
{
int i;
@@ -2955,10 +2956,22 @@ flatpak_run_setup_usr_links (FlatpakBwrap *bwrap,
if (g_file_query_exists (runtime_subdir, NULL))
{
g_autofree char *link = g_strconcat ("usr", subdir, NULL);
+ g_autofree char *create = NULL;
+
+ if (sysroot != NULL)
+ create = g_strconcat (sysroot, subdir, NULL);
+ else
+ create = g_strdup (subdir);
+
flatpak_bwrap_add_args (bwrap,
- "--symlink", link, subdir,
+ "--symlink", link, create,
NULL);
}
+ else
+ {
+ g_debug ("%s does not exist",
+ flatpak_file_get_path_cached (runtime_subdir));
+ }
}
}
@@ -3119,7 +3132,7 @@ flatpak_run_setup_base_argv (FlatpakBwrap *bwrap,
NULL);
}
- flatpak_run_setup_usr_links (bwrap, runtime_files);
+ flatpak_run_setup_usr_links (bwrap, runtime_files, NULL);
add_tzdata_args (bwrap, runtime_files);
@@ -3388,7 +3401,7 @@ regenerate_ld_cache (GPtrArray *base_argv_array,
flatpak_bwrap_append_args (bwrap, base_argv_array);
- flatpak_run_setup_usr_links (bwrap, runtime_files);
+ flatpak_run_setup_usr_links (bwrap, runtime_files, NULL);
if (generate_ld_so_conf)
{