From 668a8d817bd730279736d439dec67ebfb4d474e8 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 1 Feb 2017 17:56:16 +0100 Subject: [PATCH] build: Fix support for flatpak-build and subdir extensions In this case we need to create a tmpfs on the extension point so that the real mountpoint can be created. --- app/flatpak-builtins-build.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/flatpak-builtins-build.c b/app/flatpak-builtins-build.c index 7e577e84..53113fb4 100644 --- a/app/flatpak-builtins-build.c +++ b/app/flatpak-builtins-build.c @@ -76,6 +76,7 @@ flatpak_builtin_build (int argc, char **argv, GCancellable *cancellable, GError g_autofree char *runtime_ref = NULL; g_autofree char *extensionof_ref = NULL; g_autofree char *extension_point = NULL; + g_autofree char *extension_tmpfs_point = NULL; g_autoptr(GKeyFile) metakey = NULL; g_autoptr(GKeyFile) runtime_metakey = NULL; g_autoptr(GPtrArray) argv_array = NULL; @@ -228,10 +229,14 @@ flatpak_builtin_build (int argc, char **argv, GCancellable *cancellable, GError { app_files = flatpak_deploy_get_files (extensionof_deploy); app_files_ro = TRUE; + if (x_subdir != NULL) + extension_tmpfs_point = g_build_filename ("/app", x_dir, NULL); extension_point = g_build_filename ("/app", x_dir, x_subdir, NULL); } else { + if (x_subdir != NULL) + extension_tmpfs_point = g_build_filename ("/usr", x_dir, NULL); extension_point = g_build_filename ("/usr", x_dir, x_subdir, NULL); } } @@ -275,6 +280,11 @@ flatpak_builtin_build (int argc, char **argv, GCancellable *cancellable, GError "--dir", "/app", NULL); + if (extension_tmpfs_point) + add_args (argv_array, + "--tmpfs", extension_tmpfs_point, + NULL); + if (extension_point) add_args (argv_array, "--bind", flatpak_file_get_path_cached (res_files), extension_point,