diff options
author | Simon McVittie <smcv@collabora.com> | 2021-01-08 16:01:02 +0000 |
---|---|---|
committer | Alexander Larsson <alexander.larsson@gmail.com> | 2021-04-07 09:52:50 +0200 |
commit | 3f2eeb6dc80a30a94be46e0dbeebcaddfb258845 (patch) | |
tree | e2094408774c5dd15aa548944126eb6a40739186 | |
parent | 90aa6c9b790a0ce89dd793292a1043d65e18e697 (diff) | |
download | flatpak-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.c | 21 |
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) { |