forked from Mirrors/flatpak-builder
Fix make check if uninstalled
This uses various environment variables set during make check to find the trigger, bwrap and xdg-app-dbusproxy from the build/source dir rather than the installed location.tingping/wmclass
parent
1df3e4845b
commit
663cfcf3a8
|
@ -150,7 +150,7 @@ xdg_app_builtin_build (int argc, char **argv, GCancellable *cancellable, GError
|
|||
app_files = g_file_get_child (app_deploy, "files");
|
||||
|
||||
argv_array = g_ptr_array_new_with_free_func (g_free);
|
||||
g_ptr_array_add (argv_array, g_strdup (HELPER));
|
||||
g_ptr_array_add (argv_array, g_strdup (xdg_app_get_bwrap ()));
|
||||
|
||||
custom_usr = FALSE;
|
||||
usr = g_file_get_child (app_deploy, "usr");
|
||||
|
@ -220,7 +220,7 @@ xdg_app_builtin_build (int argc, char **argv, GCancellable *cancellable, GError
|
|||
|
||||
g_ptr_array_add (argv_array, NULL);
|
||||
|
||||
if (!execve (HELPER, (char **)argv_array->pdata, envp))
|
||||
if (!execve (xdg_app_get_bwrap (), (char **)argv_array->pdata, envp))
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errno), "Unable to start app");
|
||||
return FALSE;
|
||||
|
|
|
@ -1752,10 +1752,15 @@ xdg_app_dir_run_triggers (XdgAppDir *self,
|
|||
g_autoptr(GFileInfo) child_info = NULL;
|
||||
g_autoptr(GFile) triggersdir = NULL;
|
||||
GError *temp_error = NULL;
|
||||
const char *triggerspath;
|
||||
|
||||
g_debug ("running triggers");
|
||||
triggerspath = g_getenv ("XDG_APP_TRIGGERSDIR");
|
||||
if (triggerspath == NULL)
|
||||
triggerspath = XDG_APP_TRIGGERDIR;
|
||||
|
||||
triggersdir = g_file_new_for_path (XDG_APP_TRIGGERDIR);
|
||||
g_debug ("running triggers from %s", triggerspath);
|
||||
|
||||
triggersdir = g_file_new_for_path (triggerspath);
|
||||
|
||||
dir_enum = g_file_enumerate_children (triggersdir, "standard::type,standard::name",
|
||||
0, cancellable, error);
|
||||
|
@ -1784,7 +1789,7 @@ xdg_app_dir_run_triggers (XdgAppDir *self,
|
|||
g_ptr_array_add (argv_array, g_file_get_path (child));
|
||||
g_ptr_array_add (argv_array, g_file_get_path (self->basedir));
|
||||
#else
|
||||
g_ptr_array_add (argv_array, g_strdup (HELPER));
|
||||
g_ptr_array_add (argv_array, g_strdup (xdg_app_get_bwrap ()));
|
||||
g_ptr_array_add (argv_array, g_strdup ("--unshare-ipc"));
|
||||
g_ptr_array_add (argv_array, g_strdup ("--unshare-net"));
|
||||
g_ptr_array_add (argv_array, g_strdup ("--unshare-pid"));
|
||||
|
|
|
@ -2320,6 +2320,7 @@ add_dbus_proxy_args (GPtrArray *argv_array,
|
|||
GError **error)
|
||||
{
|
||||
char x = 'x';
|
||||
const char *proxy;
|
||||
|
||||
if (dbus_proxy_argv->len == 0)
|
||||
return TRUE;
|
||||
|
@ -2338,7 +2339,11 @@ add_dbus_proxy_args (GPtrArray *argv_array,
|
|||
add_args (argv_array, "--sync-fd", fd_str, NULL);
|
||||
}
|
||||
|
||||
g_ptr_array_insert (dbus_proxy_argv, 0, g_strdup (DBUSPROXY));
|
||||
proxy = g_getenv ("XDG_APP_DBUSPROXY");
|
||||
if (proxy == NULL)
|
||||
proxy = DBUSPROXY;
|
||||
|
||||
g_ptr_array_insert (dbus_proxy_argv, 0, g_strdup (proxy));
|
||||
g_ptr_array_insert (dbus_proxy_argv, 1, g_strdup_printf ("--fd=%d", sync_fds[1]));
|
||||
if (enable_logging)
|
||||
g_ptr_array_insert (dbus_proxy_argv, 2, g_strdup ("--log"));
|
||||
|
@ -2951,7 +2956,7 @@ xdg_app_run_app (const char *app_ref,
|
|||
}
|
||||
|
||||
real_argv_array = g_ptr_array_new_with_free_func (g_free);
|
||||
g_ptr_array_add (real_argv_array, g_strdup (HELPER));
|
||||
g_ptr_array_add (real_argv_array, g_strdup (xdg_app_get_bwrap ()));
|
||||
|
||||
{
|
||||
gsize len;
|
||||
|
@ -2989,7 +2994,7 @@ xdg_app_run_app (const char *app_ref,
|
|||
}
|
||||
else
|
||||
{
|
||||
if (execvpe (HELPER, (char **)real_argv_array->pdata, envp) == -1)
|
||||
if (execvpe (xdg_app_get_bwrap (), (char **)real_argv_array->pdata, envp) == -1)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errno), "Unable to start app");
|
||||
return FALSE;
|
||||
|
|
|
@ -216,6 +216,15 @@ xdg_app_get_arch (void)
|
|||
return arch;
|
||||
}
|
||||
|
||||
const char *
|
||||
xdg_app_get_bwrap (void)
|
||||
{
|
||||
const char *e = g_getenv ("XDG_APP_BWRAP");
|
||||
if (e != NULL)
|
||||
return e;
|
||||
return HELPER;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_valid_initial_name_character (gint c)
|
||||
{
|
||||
|
|
|
@ -41,6 +41,8 @@ const char * xdg_app_path_match_prefix (const char *pattern,
|
|||
|
||||
const char * xdg_app_get_arch (void);
|
||||
|
||||
const char * xdg_app_get_bwrap (void);
|
||||
|
||||
GBytes * xdg_app_read_stream (GInputStream *in,
|
||||
gboolean null_terminate,
|
||||
GError **error);
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
TESTS_ENVIRONMENT += OT_TESTS_DEBUG=1 \
|
||||
XDG_APP_TRIGGERSDIR=$$(cd $(top_srcdir) && pwd)/triggers \
|
||||
XDG_APP_BWRAP=$$(cd $(top_builddir) && pwd)/bwrap \
|
||||
XDG_APP_DBUSPROXY=$$(cd $(top_builddir) && pwd)/xdg-dbus-proxy \
|
||||
GI_TYPELIB_PATH=$$(cd $(top_builddir) && pwd) \
|
||||
LD_LIBRARY_PATH=$$(cd $(top_builddir)/.libs && pwd) \
|
||||
PATH=$$(cd $(top_builddir) && pwd):$${PATH} \
|
||||
|
|
Loading…
Reference in New Issue