mirror of
https://github.com/flatpak/flatpak.git
synced 2026-03-22 08:52:50 -04:00
Support --data=fd format in flatpak_bwrap_bundle_args
This is useful for the dbus-proxy, and complements the old --data fd format for bubblewrap. Closes: #1676 Approved by: alexlarsson
This commit is contained in:
committed by
Atomic Bot
parent
d35c081f6d
commit
ade25b0ff8
@@ -266,6 +266,7 @@ gboolean
|
||||
flatpak_bwrap_bundle_args (FlatpakBwrap *bwrap,
|
||||
int start,
|
||||
int end,
|
||||
gboolean one_arg,
|
||||
GError **error)
|
||||
{
|
||||
gchar *data;
|
||||
@@ -299,8 +300,15 @@ flatpak_bwrap_bundle_args (FlatpakBwrap *bwrap,
|
||||
|
||||
flatpak_bwrap_add_fd (bwrap, fd);
|
||||
g_ptr_array_remove_range (bwrap->argv, start, end - start);
|
||||
g_ptr_array_insert (bwrap->argv, start, g_strdup ("--args"));
|
||||
g_ptr_array_insert (bwrap->argv, start+1, g_strdup_printf ("%d", fd));
|
||||
if (one_arg)
|
||||
{
|
||||
g_ptr_array_insert (bwrap->argv, start, g_strdup_printf ("--args=%d", fd));
|
||||
}
|
||||
else
|
||||
{
|
||||
g_ptr_array_insert (bwrap->argv, start, g_strdup ("--args"));
|
||||
g_ptr_array_insert (bwrap->argv, start+1, g_strdup_printf ("%d", fd));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ void flatpak_bwrap_add_bind_arg (FlatpakBwrap *bwrap,
|
||||
gboolean flatpak_bwrap_bundle_args (FlatpakBwrap *bwrap,
|
||||
int start,
|
||||
int end,
|
||||
gboolean one_arg,
|
||||
GError **error);
|
||||
|
||||
void flatpak_bwrap_child_setup_cb (gpointer user_data);
|
||||
|
||||
@@ -713,7 +713,7 @@ add_bwrap_wrapper (FlatpakBwrap *bwrap,
|
||||
not be unmounted from the namespace when the namespace dies. */
|
||||
flatpak_bwrap_add_args_data_fd (bwrap, "--file", glnx_steal_fd (&app_info_fd), "/.flatpak-info");
|
||||
|
||||
if (!flatpak_bwrap_bundle_args (bwrap, 1, -1, error))
|
||||
if (!flatpak_bwrap_bundle_args (bwrap, 1, -1, FALSE, error))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
@@ -2541,7 +2541,7 @@ regenerate_ld_cache (GPtrArray *base_argv_array,
|
||||
"--bind", flatpak_file_get_path_cached (ld_so_dir), "/run/ld-so-cache-dir",
|
||||
NULL);
|
||||
|
||||
if (!flatpak_bwrap_bundle_args (bwrap, 1, -1, error))
|
||||
if (!flatpak_bwrap_bundle_args (bwrap, 1, -1, FALSE, error))
|
||||
return -1;
|
||||
|
||||
flatpak_bwrap_add_args (bwrap,
|
||||
@@ -2886,7 +2886,7 @@ flatpak_run_app (const char *app_ref,
|
||||
command = default_command;
|
||||
}
|
||||
|
||||
if (!flatpak_bwrap_bundle_args (bwrap, 1, -1, error))
|
||||
if (!flatpak_bwrap_bundle_args (bwrap, 1, -1, FALSE, error))
|
||||
return FALSE;
|
||||
|
||||
flatpak_bwrap_add_arg (bwrap, command);
|
||||
|
||||
Reference in New Issue
Block a user