From a42c392485cf0a7c8dfb9a3c060fe8c7ce4c9968 Mon Sep 17 00:00:00 2001 From: Rmys Date: Thu, 12 Mar 2020 20:15:51 +0300 Subject: [PATCH] bubblewrap --- hardware/virtualization/bubblewrap/pspec.xml | 9 +- .../xdg-desktop-portal/actions.py | 5 +- .../xdg-desktop-portal/files/hack.diff | 199 ++++++++++++++++++ .../xdg-desktop-portal/pspec.xml | 3 + 4 files changed, 213 insertions(+), 3 deletions(-) create mode 100644 hardware/virtualization/xdg-desktop-portal/files/hack.diff diff --git a/hardware/virtualization/bubblewrap/pspec.xml b/hardware/virtualization/bubblewrap/pspec.xml index ab0a4c8beb..cdfa4aef48 100644 --- a/hardware/virtualization/bubblewrap/pspec.xml +++ b/hardware/virtualization/bubblewrap/pspec.xml @@ -11,7 +11,7 @@ LGPLv2 Unprivileged sandboxing tool is a core execution engine for unprivileged containers that works as a setuid binary on kernels without user namespaces. - https://github.com/projectatomic/bubblewrap/archive/v0.3.3.tar.gz + https://github.com/projectatomic/bubblewrap/archive/v0.4.0.tar.gz libcap-devel bash-completion @@ -34,6 +34,13 @@ + + 2020-03-12 + 0.4.0 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2019-07-07 0.3.3 diff --git a/hardware/virtualization/xdg-desktop-portal/actions.py b/hardware/virtualization/xdg-desktop-portal/actions.py index b17630872b..48564bc0bf 100644 --- a/hardware/virtualization/xdg-desktop-portal/actions.py +++ b/hardware/virtualization/xdg-desktop-portal/actions.py @@ -11,10 +11,11 @@ from pisi.actionsapi import shelltools from pisi.actionsapi import get def setup(): - shelltools.system("NOCONFIGURE=1 ./autogen.sh") - + #shelltools.system("NOCONFIGURE=1 ./autogen.sh") + autotools.autoreconf("-fi") autotools.configure("--with-systemduserunitdir=none \ --disable-geoclue \ + --disable-docbook-docs \ --disable-libportal \ --disable-pipewire") diff --git a/hardware/virtualization/xdg-desktop-portal/files/hack.diff b/hardware/virtualization/xdg-desktop-portal/files/hack.diff new file mode 100644 index 0000000000..5aa4ef7b69 --- /dev/null +++ b/hardware/virtualization/xdg-desktop-portal/files/hack.diff @@ -0,0 +1,199 @@ +diff --git i/tests/camera.c w/tests/camera.c +index 4fefbe4..7957d72 100644 +--- i/tests/camera.c ++++ w/tests/camera.c +@@ -239,29 +239,31 @@ test_camera_lockdown (void) + require_pipewire (); + reset_camera_permissions (); + xdp_impl_lockdown_set_disable_camera (lockdown, TRUE); ++ sleep (1); + + keyfile = g_key_file_new (); + + g_key_file_set_integer (keyfile, "backend", "delay", 200); + g_key_file_set_integer (keyfile, "result", "marker", 4); + g_key_file_set_integer (keyfile, "backend", "response", 0); + g_key_file_set_integer (keyfile, "result", "response", 2); + g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR); + g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED); + + path = g_build_filename (outdir, "access", NULL); + g_key_file_save_to_file (keyfile, path, &error); + g_assert_no_error (error); + + portal = xdp_portal_new (); + + got_info = 0; + xdp_portal_access_camera (portal, NULL, 0, NULL, camera_cb, keyfile); + + while (!got_info) + g_main_context_iteration (NULL, TRUE); + + xdp_impl_lockdown_set_disable_camera (lockdown, FALSE); ++ sleep (1); + } + + /* Test the effect of the user denying the access dialog */ +diff --git i/tests/filechooser.c w/tests/filechooser.c +index a5f9b2c..799f24b 100644 +--- i/tests/filechooser.c ++++ w/tests/filechooser.c +@@ -871,29 +871,31 @@ test_save_file_lockdown (void) + }; + + xdp_impl_lockdown_set_disable_save_to_disk (lockdown, TRUE); ++ sleep (1); + + keyfile = g_key_file_new (); + + g_key_file_set_integer (keyfile, "backend", "delay", 200); + g_key_file_set_integer (keyfile, "backend", "response", 0); + g_key_file_set_integer (keyfile, "result", "response", 2); + g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR); + g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED); + g_key_file_set_string_list (keyfile, "result", "uris", uris, g_strv_length ((char **)uris)); + + path = g_build_filename (outdir, "filechooser", NULL); + g_key_file_save_to_file (keyfile, path, &error); + g_assert_no_error (error); + + portal = xdp_portal_new (); + + got_info = 0; + xdp_portal_save_file (portal, NULL, "test", "test_file.txt", NULL, NULL, NULL, NULL, NULL, 0, NULL, save_file_cb, keyfile); + + while (!got_info) + g_main_context_iteration (NULL, TRUE); + + xdp_impl_lockdown_set_disable_save_to_disk (lockdown, FALSE); ++ sleep (1); + } + + void +diff --git i/tests/location.c w/tests/location.c +index 0395f77..89cdef6 100644 +--- i/tests/location.c ++++ w/tests/location.c +@@ -30,10 +30,8 @@ test_location_basic (void) + { + g_autoptr(XdpPortal) portal = NULL; + +-#ifndef HAVE_GEOCLUE + g_test_skip ("Skipping tests that require geoclue"); + return; +-#endif + + portal = xdp_portal_new (); + +@@ -67,10 +65,8 @@ test_location_accuracy (void) + { + g_autoptr(XdpPortal) portal = NULL; + +-#ifndef HAVE_GEOCLUE + g_test_skip ("Skipping tests that require geoclue"); + return; +-#endif + + portal = xdp_portal_new (); + +diff --git i/tests/openuri.c w/tests/openuri.c +index ddff074..ba02bfd 100644 +--- i/tests/openuri.c ++++ w/tests/openuri.c +@@ -366,28 +366,30 @@ test_open_uri_lockdown (void) + g_autofree char *path = NULL; + + xdp_impl_lockdown_set_disable_application_handlers (lockdown, TRUE); ++ sleep (1); + + keyfile = g_key_file_new (); + + g_key_file_set_integer (keyfile, "backend", "delay", 200); + g_key_file_set_integer (keyfile, "backend", "response", 0); + g_key_file_set_integer (keyfile, "result", "response", 2); + g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR); + g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED); + + path = g_build_filename (outdir, "appchooser", NULL); + g_key_file_save_to_file (keyfile, path, &error); + g_assert_no_error (error); + + portal = xdp_portal_new (); + + got_info = 0; + xdp_portal_open_uri (portal, NULL, "http://www.flatpak.org", 0, NULL, open_uri_cb, keyfile); + + while (!got_info) + g_main_context_iteration (NULL, TRUE); + + xdp_impl_lockdown_set_disable_application_handlers (lockdown, FALSE); ++ sleep (1); + } + + static void +diff --git i/tests/print.c w/tests/print.c +index 1b9be72..ddcac42 100644 +--- i/tests/print.c ++++ w/tests/print.c +@@ -187,28 +187,30 @@ test_prepare_print_lockdown (void) + g_autofree char *path = NULL; + + xdp_impl_lockdown_set_disable_printing (lockdown, TRUE); ++ sleep (1); + + keyfile = g_key_file_new (); + + g_key_file_set_integer (keyfile, "backend", "delay", 200); + g_key_file_set_integer (keyfile, "backend", "response", 0); + g_key_file_set_integer (keyfile, "result", "response", 2); + g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR); + g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED); + + path = g_build_filename (outdir, "print", NULL); + g_key_file_save_to_file (keyfile, path, &error); + g_assert_no_error (error); + + portal = xdp_portal_new (); + + got_info = 0; + xdp_portal_prepare_print (portal, NULL, "test", NULL, NULL, 0, NULL, prepare_cb, keyfile); + + while (!got_info) + g_main_context_iteration (NULL, TRUE); + + xdp_impl_lockdown_set_disable_printing (lockdown, FALSE); ++ sleep (1); + } + + void +@@ -427,28 +429,30 @@ test_print_lockdown (void) + g_autoptr(GDBusConnection) session_bus = NULL; + + xdp_impl_lockdown_set_disable_printing (lockdown, TRUE); ++ sleep (1); + + keyfile = g_key_file_new (); + + g_key_file_set_integer (keyfile, "backend", "delay", 200); + g_key_file_set_integer (keyfile, "backend", "response", 0); + g_key_file_set_integer (keyfile, "result", "response", 2); + g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR); + g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED); + + path = g_build_filename (outdir, "print", NULL); + g_key_file_save_to_file (keyfile, path, &error); + g_assert_no_error (error); + + portal = xdp_portal_new (); + + got_info = 0; + xdp_portal_print_file (portal, NULL, "test", 0, path, 0, NULL, print_cb, keyfile); + + while (!got_info) + g_main_context_iteration (NULL, TRUE); + + xdp_impl_lockdown_set_disable_printing (lockdown, FALSE); ++ sleep (1); + } + + void diff --git a/hardware/virtualization/xdg-desktop-portal/pspec.xml b/hardware/virtualization/xdg-desktop-portal/pspec.xml index bc5752d955..a48049dffe 100644 --- a/hardware/virtualization/xdg-desktop-portal/pspec.xml +++ b/hardware/virtualization/xdg-desktop-portal/pspec.xml @@ -22,6 +22,9 @@ fuse-devel gettext-devel + + hack.diff +