From 12e30b653899567312a7ec29b6e972c85ba8e25e Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 16 Jan 2014 13:31:38 +0000 Subject: glib-2.0: fix the dbus-appinfo test when running outside of X This test was attempting to connect to a session bus and hanging if it couldn't. Take a patch from upstream to correctly use a private bus. [ YOCTO #5696 ] Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../glib-2.0/glib-2.0/ptest-dbus.patch | 65 ++++++++++++++++++++++ meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb | 1 + 2 files changed, 66 insertions(+) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ptest-dbus.patch diff --git a/meta/recipes-core/glib-2.0/glib-2.0/ptest-dbus.patch b/meta/recipes-core/glib-2.0/glib-2.0/ptest-dbus.patch new file mode 100644 index 0000000000..0db8fd1609 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/ptest-dbus.patch @@ -0,0 +1,65 @@ +Fix dbus-appinfo from attempting to use the session's bus, and hanging if there +isn't one present. + +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 940fa98290812789d095d93ff1c550cd86fb2428 Mon Sep 17 00:00:00 2001 +From: Xavier Claessens +Date: Mon, 28 Oct 2013 21:18:54 +0000 +Subject: Tests: add session_bus_run() and use it where possible + +This is to avoid having again the subtil bug in dbus-appinfo.c: +session_bus_down() was called before g_test_run() so the test was +running on the user's dbus session. + +https://bugzilla.gnome.org/show_bug.cgi?id=697348 +--- +diff --git a/gio/tests/dbus-appinfo.c b/gio/tests/dbus-appinfo.c +index ca11e98..7698429 100644 +--- a/gio/tests/dbus-appinfo.c ++++ b/gio/tests/dbus-appinfo.c +@@ -280,11 +280,7 @@ main (int argc, char **argv) + { + g_test_init (&argc, &argv, NULL); + +- session_bus_up (); +- + g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo); + +- session_bus_down (); +- +- return g_test_run (); ++ return session_bus_run (); + } +diff --git a/gio/tests/gdbus-sessionbus.c b/gio/tests/gdbus-sessionbus.c +index 68c4449..13c2edb 100644 +--- a/gio/tests/gdbus-sessionbus.c ++++ b/gio/tests/gdbus-sessionbus.c +@@ -47,3 +47,14 @@ session_bus_down (void) + g_clear_object (&singleton); + } + ++gint ++session_bus_run (void) ++{ ++ gint ret; ++ ++ session_bus_up (); ++ ret = g_test_run (); ++ session_bus_down (); ++ ++ return ret; ++} +diff --git a/gio/tests/gdbus-sessionbus.h b/gio/tests/gdbus-sessionbus.h +index 7ef3abd..284cd00 100644 +--- a/gio/tests/gdbus-sessionbus.h ++++ b/gio/tests/gdbus-sessionbus.h +@@ -30,6 +30,7 @@ G_BEGIN_DECLS + void session_bus_up (void); + void session_bus_stop (void); + void session_bus_down (void); ++gint session_bus_run (void); + + G_END_DECLS + diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb index 02730f17ea..a5bfc707b3 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.38.2.bb @@ -11,6 +11,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://glib-2.0-configure-readlink.patch \ file://run-ptest \ file://0001-gio-Fix-Werror-format-string-errors-from-mismatched-.patch \ + file://ptest-dbus.patch \ " SRC_URI_append_class-native = " file://glib-gettextize-dir.patch" -- cgit 1.2.3-korg