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");
|
app_files = g_file_get_child (app_deploy, "files");
|
||||||
|
|
||||||
argv_array = g_ptr_array_new_with_free_func (g_free);
|
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;
|
custom_usr = FALSE;
|
||||||
usr = g_file_get_child (app_deploy, "usr");
|
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);
|
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");
|
g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errno), "Unable to start app");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
|
@ -1752,10 +1752,15 @@ xdg_app_dir_run_triggers (XdgAppDir *self,
|
||||||
g_autoptr(GFileInfo) child_info = NULL;
|
g_autoptr(GFileInfo) child_info = NULL;
|
||||||
g_autoptr(GFile) triggersdir = NULL;
|
g_autoptr(GFile) triggersdir = NULL;
|
||||||
GError *temp_error = 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",
|
dir_enum = g_file_enumerate_children (triggersdir, "standard::type,standard::name",
|
||||||
0, cancellable, error);
|
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 (child));
|
||||||
g_ptr_array_add (argv_array, g_file_get_path (self->basedir));
|
g_ptr_array_add (argv_array, g_file_get_path (self->basedir));
|
||||||
#else
|
#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-ipc"));
|
||||||
g_ptr_array_add (argv_array, g_strdup ("--unshare-net"));
|
g_ptr_array_add (argv_array, g_strdup ("--unshare-net"));
|
||||||
g_ptr_array_add (argv_array, g_strdup ("--unshare-pid"));
|
g_ptr_array_add (argv_array, g_strdup ("--unshare-pid"));
|
||||||
|
|
|
@ -2320,6 +2320,7 @@ add_dbus_proxy_args (GPtrArray *argv_array,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
char x = 'x';
|
char x = 'x';
|
||||||
|
const char *proxy;
|
||||||
|
|
||||||
if (dbus_proxy_argv->len == 0)
|
if (dbus_proxy_argv->len == 0)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -2338,7 +2339,11 @@ add_dbus_proxy_args (GPtrArray *argv_array,
|
||||||
add_args (argv_array, "--sync-fd", fd_str, NULL);
|
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]));
|
g_ptr_array_insert (dbus_proxy_argv, 1, g_strdup_printf ("--fd=%d", sync_fds[1]));
|
||||||
if (enable_logging)
|
if (enable_logging)
|
||||||
g_ptr_array_insert (dbus_proxy_argv, 2, g_strdup ("--log"));
|
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);
|
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;
|
gsize len;
|
||||||
|
@ -2989,7 +2994,7 @@ xdg_app_run_app (const char *app_ref,
|
||||||
}
|
}
|
||||||
else
|
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");
|
g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errno), "Unable to start app");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
|
@ -216,6 +216,15 @@ xdg_app_get_arch (void)
|
||||||
return arch;
|
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
|
static gboolean
|
||||||
is_valid_initial_name_character (gint c)
|
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_arch (void);
|
||||||
|
|
||||||
|
const char * xdg_app_get_bwrap (void);
|
||||||
|
|
||||||
GBytes * xdg_app_read_stream (GInputStream *in,
|
GBytes * xdg_app_read_stream (GInputStream *in,
|
||||||
gboolean null_terminate,
|
gboolean null_terminate,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
TESTS_ENVIRONMENT += OT_TESTS_DEBUG=1 \
|
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) \
|
GI_TYPELIB_PATH=$$(cd $(top_builddir) && pwd) \
|
||||||
LD_LIBRARY_PATH=$$(cd $(top_builddir)/.libs && pwd) \
|
LD_LIBRARY_PATH=$$(cd $(top_builddir)/.libs && pwd) \
|
||||||
PATH=$$(cd $(top_builddir) && pwd):$${PATH} \
|
PATH=$$(cd $(top_builddir) && pwd):$${PATH} \
|
||||||
|
|
Loading…
Reference in New Issue