r40465 - in /desktop/experimental/glib2.0/debian: ./ patches/
smcv at users.alioth.debian.org
smcv at users.alioth.debian.org
Tue Feb 11 16:48:19 UTC 2014
Author: smcv
Date: Tue Feb 11 16:48:19 2014
New Revision: 40465
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=40465
Log:
Add many patches for FTBFS test failures
* d/p/gdbus-Let-the-pending-read-finish-before-closing-the.patch:
add patch from Mikhail Zabaluev fixing a test failure on mips,
also reproduced on mipsel (Closes: #738290)
* d/p/Fix-races-in-unix-signal-dispatch.patch: add patch from upstream
to fix what appears to be the root cause of #737380
* d/p/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch,
d/p/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch:
improve arbitrary timeouts in regression tests, fixing an unreported
FTBFS on armhf
Added:
desktop/experimental/glib2.0/debian/patches/Fix-races-in-unix-signal-dispatch.patch
desktop/experimental/glib2.0/debian/patches/gdbus-Let-the-pending-read-finish-before-closing-the.patch
desktop/experimental/glib2.0/debian/patches/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch
desktop/experimental/glib2.0/debian/patches/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch
Modified:
desktop/experimental/glib2.0/debian/changelog
desktop/experimental/glib2.0/debian/patches/series
Modified: desktop/experimental/glib2.0/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/glib2.0/debian/changelog?rev=40465&op=diff
==============================================================================
--- desktop/experimental/glib2.0/debian/changelog [utf-8] (original)
+++ desktop/experimental/glib2.0/debian/changelog [utf-8] Tue Feb 11 16:48:19 2014
@@ -1,6 +1,16 @@
glib2.0 (2.38.2-4) UNRELEASED; urgency=medium
+ * Team upload
* DEP-3: tag patch for Debian#737501 as sent upstream to GNOME#723653
+ * d/p/gdbus-Let-the-pending-read-finish-before-closing-the.patch:
+ add patch from Mikhail Zabaluev fixing a test failure on mips,
+ also reproduced on mipsel (Closes: #738290)
+ * d/p/Fix-races-in-unix-signal-dispatch.patch: add patch from upstream
+ to fix what appears to be the root cause of #737380
+ * d/p/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch,
+ d/p/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch:
+ improve arbitrary timeouts in regression tests, fixing an unreported
+ FTBFS on armhf
-- Simon McVittie <smcv at debian.org> Thu, 06 Feb 2014 10:36:16 +0000
Added: desktop/experimental/glib2.0/debian/patches/Fix-races-in-unix-signal-dispatch.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/glib2.0/debian/patches/Fix-races-in-unix-signal-dispatch.patch?rev=40465&op=file
==============================================================================
--- desktop/experimental/glib2.0/debian/patches/Fix-races-in-unix-signal-dispatch.patch (added)
+++ desktop/experimental/glib2.0/debian/patches/Fix-races-in-unix-signal-dispatch.patch [utf-8] Tue Feb 11 16:48:19 2014
@@ -0,0 +1,95 @@
+From: Ryan Lortie <desrt at desrt.ca>
+Date: Tue, 29 Oct 2013 11:11:28 -0700
+Subject: [PATCH] Fix races in unix signal dispatch
+
+Fix some races introduced in be2c7b83c4a9c9d3aa76b1499c27ab19e0f4e470
+while keeping the property that multiple handlers for the same unix
+signal all get dispatched.
+
+Also fix the behaviour of the source checking for pending signals when
+it's created. No matter what we do here (clear the pending flag or not)
+there is something that can go wrong.
+
+If we clear the flag, we may prevent other sources from being
+dispatched. If we don't clear it, we may end up dispatching the same
+source twice (if we manage to dispatch it from its own thread before the
+GLib worker has a chance to run).
+
+Instead, run the full dispatch procedure when a new source is added. It
+actually doesn't matter what thread this runs in since the lock is held.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=711090
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737380
+Origin: upstream, 2.39.3, commit:76584e7ae3c3676e6445637f1ad026e5af857938
+---
+ glib/gmain.c | 27 ++++++++++++++++++++-------
+ 1 file changed, 20 insertions(+), 7 deletions(-)
+
+diff --git a/glib/gmain.c b/glib/gmain.c
+index b5ee6df..9e3c993 100644
+--- a/glib/gmain.c
++++ b/glib/gmain.c
+@@ -4818,17 +4818,26 @@ wake_source (GSource *source)
+ }
+
+ static void
+-dispatch_unix_signals (void)
++dispatch_unix_signals_unlocked (void)
+ {
++ gboolean pending[NSIG];
+ GSList *node;
++ gint i;
+
+ /* clear this first incase another one arrives while we're processing */
+ any_unix_signal_pending = FALSE;
+
+- G_LOCK(unix_signal_lock);
++ /* We atomically test/clear the bit from the global array in case
++ * other signals arrive while we are dispatching.
++ *
++ * We then can safely use our own array below without worrying about
++ * races.
++ */
++ for (i = 0; i < NSIG; i++)
++ pending[i] = g_atomic_int_compare_and_exchange (&unix_signal_pending[i], TRUE, FALSE);
+
+ /* handle GChildWatchSource instances */
+- if (unix_signal_pending[SIGCHLD])
++ if (pending[SIGCHLD])
+ {
+ /* The only way we can do this is to scan all of the children.
+ *
+@@ -4875,7 +4884,7 @@ dispatch_unix_signals (void)
+
+ if (!source->pending)
+ {
+- if (unix_signal_pending[source->signum])
++ if (pending[source->signum])
+ {
+ source->pending = TRUE;
+
+@@ -4884,8 +4893,13 @@ dispatch_unix_signals (void)
+ }
+ }
+
+- memset ((void*)unix_signal_pending, 0, sizeof (unix_signal_pending));
++}
+
++static void
++dispatch_unix_signals (void)
++{
++ G_LOCK(unix_signal_lock);
++ dispatch_unix_signals_unlocked ();
+ G_UNLOCK(unix_signal_lock);
+ }
+
+@@ -4999,8 +5013,7 @@ _g_main_create_unix_signal_watch (int signum)
+ G_LOCK (unix_signal_lock);
+ ref_unix_signal_handler_unlocked (signum);
+ unix_signal_watches = g_slist_prepend (unix_signal_watches, unix_signal_source);
+- if (unix_signal_pending[signum])
+- unix_signal_source->pending = TRUE;
++ dispatch_unix_signals_unlocked ();
+ G_UNLOCK (unix_signal_lock);
+
+ return source;
Added: desktop/experimental/glib2.0/debian/patches/gdbus-Let-the-pending-read-finish-before-closing-the.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/glib2.0/debian/patches/gdbus-Let-the-pending-read-finish-before-closing-the.patch?rev=40465&op=file
==============================================================================
--- desktop/experimental/glib2.0/debian/patches/gdbus-Let-the-pending-read-finish-before-closing-the.patch (added)
+++ desktop/experimental/glib2.0/debian/patches/gdbus-Let-the-pending-read-finish-before-closing-the.patch [utf-8] Tue Feb 11 16:48:19 2014
@@ -0,0 +1,193 @@
+From: Mikhail Zabaluev <mikhail.zabaluev at gmail.com>
+Date: Mon, 3 Feb 2014 02:16:53 +0200
+Subject: [PATCH] gdbus: Let the pending read finish before closing the
+ connection
+
+This prevents the GIOStream from being closed with a read pending
+on the input substream. g_io_stream_close_async() is actually
+supposed to fail in this case; see
+https://bugzilla.gnome.org/show_bug.cgi?id=707912
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=723719
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=738290
+Reviewed-by: Simon McVittie <simon.mcvittie at collabora.co.uk>
+Applied-upstream: no
+---
+ gio/gdbusprivate.c | 75 +++++++++++++++++++++++++++---------------------------
+ 1 file changed, 38 insertions(+), 37 deletions(-)
+
+diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c
+index 0e5bef2..32f8a00 100644
+--- a/gio/gdbusprivate.c
++++ b/gio/gdbusprivate.c
+@@ -340,6 +340,8 @@ typedef enum {
+ PENDING_CLOSE
+ } OutputPending;
+
++static void continue_writing (GDBusWorker *worker);
++
+ struct GDBusWorker
+ {
+ volatile gint ref_count;
+@@ -581,7 +583,10 @@ _g_dbus_worker_do_read_cb (GInputStream *input_stream,
+
+ /* If already stopped, don't even process the reply */
+ if (g_atomic_int_get (&worker->stopped))
+- goto out;
++ {
++ worker->close_expected = TRUE;
++ goto out;
++ }
+
+ error = NULL;
+ if (worker->socket == NULL)
+@@ -676,21 +681,16 @@ _g_dbus_worker_do_read_cb (GInputStream *input_stream,
+ * if the GDBusConnection tells us to close (either via
+ * _g_dbus_worker_stop, which is called on last-unref, or directly),
+ * so a cancelled read must mean our connection was closed locally.
+- *
+- * If we're closing, other errors are possible - notably,
+- * G_IO_ERROR_CLOSED can be seen if we close the stream with an async
+- * read in-flight. It seems sensible to treat all read errors during
+- * closing as an expected thing that doesn't trip exit-on-close.
+- *
+- * Because close_expected can't be set until we get into the worker
+- * thread, but the cancellable is signalled sooner (from another
+- * thread), we do still need to check the error.
+ */
+- if (worker->close_expected ||
+- g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- _g_dbus_worker_emit_disconnected (worker, FALSE, NULL);
++ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
++ {
++ _g_dbus_worker_emit_disconnected (worker, FALSE, NULL);
++ worker->close_expected = TRUE;
++ }
+ else
+- _g_dbus_worker_emit_disconnected (worker, TRUE, error);
++ {
++ _g_dbus_worker_emit_disconnected (worker, TRUE, error);
++ }
+
+ g_error_free (error);
+ goto out;
+@@ -819,6 +819,13 @@ _g_dbus_worker_do_read_cb (GInputStream *input_stream,
+ out:
+ g_mutex_unlock (&worker->read_lock);
+
++ /* If need to close the stream, make sure the output logic runs its course.
++ * Because this is the worker thread, we can read these struct members
++ * without holding the lock: no other thread ever modifies them.
++ */
++ if (worker->close_expected && worker->output_pending == PENDING_NONE)
++ continue_writing (worker);
++
+ /* gives up the reference acquired when calling g_input_stream_read_async() */
+ _g_dbus_worker_unref (worker);
+ }
+@@ -827,8 +834,8 @@ _g_dbus_worker_do_read_cb (GInputStream *input_stream,
+ static void
+ _g_dbus_worker_do_read_unlocked (GDBusWorker *worker)
+ {
+- /* Note that we do need to keep trying to read even if close_expected is
+- * true, because only failing a read causes us to signal 'closed'.
++ /* We need to keep trying to read, because only failing a read
++ * causes us to signal 'closed'.
+ */
+
+ /* if bytes_wanted is zero, it means start reading a message */
+@@ -1149,8 +1156,6 @@ write_message_finish (GAsyncResult *res,
+ }
+ /* ---------------------------------------------------------------------------------------------------- */
+
+-static void continue_writing (GDBusWorker *worker);
+-
+ typedef struct
+ {
+ GDBusWorker *worker;
+@@ -1449,12 +1454,15 @@ continue_writing (GDBusWorker *worker)
+ /* if we want to close the connection, that takes precedence */
+ if (worker->pending_close_attempts != NULL)
+ {
+- worker->close_expected = TRUE;
+- worker->output_pending = PENDING_CLOSE;
++ /* close only once the read is finished */
++ if (worker->close_expected)
++ {
++ worker->output_pending = PENDING_CLOSE;
+
+- g_io_stream_close_async (worker->stream, G_PRIORITY_DEFAULT,
+- NULL, iostream_close_cb,
+- _g_dbus_worker_ref (worker));
++ g_io_stream_close_async (worker->stream, G_PRIORITY_DEFAULT,
++ NULL, iostream_close_cb,
++ _g_dbus_worker_ref (worker));
++ }
+ }
+ else
+ {
+@@ -1562,7 +1570,6 @@ continue_writing_in_idle_cb (gpointer user_data)
+ /*
+ * @write_data: (transfer full) (allow-none):
+ * @flush_data: (transfer full) (allow-none):
+- * @close_data: (transfer full) (allow-none):
+ *
+ * Can be called from any thread
+ *
+@@ -1572,8 +1579,7 @@ continue_writing_in_idle_cb (gpointer user_data)
+ static void
+ schedule_writing_unlocked (GDBusWorker *worker,
+ MessageToWriteData *write_data,
+- FlushData *flush_data,
+- CloseData *close_data)
++ FlushData *flush_data)
+ {
+ if (write_data != NULL)
+ g_queue_push_tail (worker->write_queue, write_data);
+@@ -1581,10 +1587,6 @@ schedule_writing_unlocked (GDBusWorker *worker,
+ if (flush_data != NULL)
+ worker->write_pending_flushes = g_list_prepend (worker->write_pending_flushes, flush_data);
+
+- if (close_data != NULL)
+- worker->pending_close_attempts = g_list_prepend (worker->pending_close_attempts,
+- close_data);
+-
+ /* If we had output pending, the next bit of output will happen
+ * automatically when it finishes, so we only need to do this
+ * if nothing was pending.
+@@ -1632,7 +1634,7 @@ _g_dbus_worker_send_message (GDBusWorker *worker,
+ data->blob_size = blob_len;
+
+ g_mutex_lock (&worker->write_lock);
+- schedule_writing_unlocked (worker, data, NULL, NULL);
++ schedule_writing_unlocked (worker, data, NULL);
+ g_mutex_unlock (&worker->write_lock);
+ }
+
+@@ -1712,13 +1714,12 @@ _g_dbus_worker_close (GDBusWorker *worker,
+ (cancellable == NULL ? NULL : g_object_ref (cancellable));
+ close_data->result = (result == NULL ? NULL : g_object_ref (result));
+
+- /* Don't set worker->close_expected here - we're in the wrong thread.
+- * It'll be set before the actual close happens.
+- */
+- g_cancellable_cancel (worker->cancellable);
+ g_mutex_lock (&worker->write_lock);
+- schedule_writing_unlocked (worker, NULL, NULL, close_data);
++ worker->pending_close_attempts = g_list_prepend (worker->pending_close_attempts,
++ close_data);
+ g_mutex_unlock (&worker->write_lock);
++
++ g_cancellable_cancel (worker->cancellable);
+ }
+
+ /* This can be called from any thread - frees worker. Note that
+@@ -1788,7 +1789,7 @@ _g_dbus_worker_flush_sync (GDBusWorker *worker,
+ data->number_to_wait_for = worker->write_num_messages_written + pending_writes;
+ g_mutex_lock (&data->mutex);
+
+- schedule_writing_unlocked (worker, NULL, data, NULL);
++ schedule_writing_unlocked (worker, NULL, data);
+ }
+ g_mutex_unlock (&worker->write_lock);
+
Added: desktop/experimental/glib2.0/debian/patches/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/glib2.0/debian/patches/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch?rev=40465&op=file
==============================================================================
--- desktop/experimental/glib2.0/debian/patches/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch (added)
+++ desktop/experimental/glib2.0/debian/patches/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch [utf-8] Tue Feb 11 16:48:19 2014
@@ -0,0 +1,51 @@
+From: Simon McVittie <simon.mcvittie at collabora.co.uk>
+Date: Tue, 11 Feb 2014 14:23:15 +0000
+Subject: [PATCH] gdbus-connection: wait up to 10s to actually send a
+ message
+
+We previously waited 0.25s, which should be enough even on slow machines,
+but you never know; but we also now wait in 0.1s increments, so this test
+should actually be faster now.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=724113
+Forwarded: yes
+---
+ gio/tests/gdbus-connection.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/gio/tests/gdbus-connection.c b/gio/tests/gdbus-connection.c
+index 9cd1e10..62edaa2 100644
+--- a/gio/tests/gdbus-connection.c
++++ b/gio/tests/gdbus-connection.c
+@@ -1093,10 +1093,13 @@ send_bogus_message (GDBusConnection *c, guint32 *out_serial)
+ g_assert_no_error (error);
+ }
+
++#define SLEEP_USEC (100 * 1000)
++
+ static gpointer
+ serials_thread_func (GDBusConnection *c)
+ {
+ guint32 message_serial;
++ guint i;
+
+ /* No calls on this thread yet */
+ g_assert_cmpint (g_dbus_connection_get_last_serial(c), ==, 0);
+@@ -1105,8 +1108,15 @@ serials_thread_func (GDBusConnection *c)
+ message_serial = 0;
+ send_bogus_message (c, &message_serial);
+
+- /* Give it some time to actually send the message out */
+- g_usleep (250000);
++ /* Give it some time to actually send the message out. 10 seconds
++ * should be plenty, even on slow machines. */
++ for (i = 0; i < 10 * G_USEC_PER_SEC / SLEEP_USEC; i++)
++ {
++ if (g_dbus_connection_get_last_serial(c) != 0)
++ break;
++
++ g_usleep (SLEEP_USEC);
++ }
+
+ g_assert_cmpint (g_dbus_connection_get_last_serial(c), !=, 0);
+ g_assert_cmpint (g_dbus_connection_get_last_serial(c), ==, message_serial);
Added: desktop/experimental/glib2.0/debian/patches/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/glib2.0/debian/patches/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch?rev=40465&op=file
==============================================================================
--- desktop/experimental/glib2.0/debian/patches/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch (added)
+++ desktop/experimental/glib2.0/debian/patches/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch [utf-8] Tue Feb 11 16:48:19 2014
@@ -0,0 +1,132 @@
+From: Simon McVittie <simon.mcvittie at collabora.co.uk>
+Date: Tue, 11 Feb 2014 14:22:04 +0000
+Subject: [PATCH] gdbus tests: wait up to 60s for gdbus-testserver to take
+ its bus name
+
+Previously, we waited up to 0.5s, but that can fail on slow architectures
+like ARM; now we wait up to 60s in 0.1s increments.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=724113
+Forwarded: yes
+---
+ gio/tests/gdbus-connection-loss.c | 28 +++++++++++++++++++++++++---
+ gio/tests/gdbus-threading.c | 27 ++++++++++++++++++++++-----
+ 2 files changed, 47 insertions(+), 8 deletions(-)
+
+diff --git a/gio/tests/gdbus-connection-loss.c b/gio/tests/gdbus-connection-loss.c
+index ed4142d..1adbc15 100644
+--- a/gio/tests/gdbus-connection-loss.c
++++ b/gio/tests/gdbus-connection-loss.c
+@@ -58,11 +58,20 @@ on_timeout (gpointer user_data)
+ return FALSE; /* remove source */
+ }
+
++static gboolean
++give_up (gpointer data)
++{
++ g_error ("%s", (const gchar *) data);
++ g_return_val_if_reached (TRUE);
++}
++
+ static void
+ test_connection_loss (void)
+ {
+ GDBusProxy *proxy;
+ GError *error;
++ gchar *name_owner;
++ guint id;
+
+ error = NULL;
+ proxy = g_dbus_proxy_new_sync (c,
+@@ -75,6 +84,22 @@ test_connection_loss (void)
+ &error);
+ g_assert_no_error (error);
+
++ id = g_timeout_add_seconds (60, give_up,
++ "waited more than ~ 60s for gdbus-testserver to take its bus name");
++
++ while (TRUE)
++ {
++ name_owner = g_dbus_proxy_get_name_owner (proxy);
++
++ if (name_owner != NULL)
++ break;
++
++ g_main_context_iteration (NULL, TRUE);
++ }
++
++ g_source_remove (id);
++ g_free (name_owner);
++
+ error = NULL;
+ g_dbus_proxy_call (proxy,
+ "Sleep",
+@@ -126,9 +151,6 @@ main (int argc,
+ g_assert (g_spawn_command_line_async (path, NULL));
+ g_free (path);
+
+- /* wait for the service to come up */
+- usleep (500 * 1000);
+-
+ /* Create the connection in the main thread */
+ error = NULL;
+ c = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+diff --git a/gio/tests/gdbus-threading.c b/gio/tests/gdbus-threading.c
+index 5851114..0836365 100644
+--- a/gio/tests/gdbus-threading.c
++++ b/gio/tests/gdbus-threading.c
+@@ -412,6 +412,13 @@ test_method_calls_on_proxy (GDBusProxy *proxy)
+ }
+ }
+
++static gboolean
++give_up (gpointer data)
++{
++ g_error ("%s", (const gchar *) data);
++ g_return_val_if_reached (TRUE);
++}
++
+ static void
+ test_method_calls_in_thread (void)
+ {
+@@ -419,6 +426,7 @@ test_method_calls_in_thread (void)
+ GDBusConnection *connection;
+ GError *error;
+ gchar *name_owner;
++ guint id;
+
+ error = NULL;
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION,
+@@ -436,8 +444,20 @@ test_method_calls_in_thread (void)
+ &error);
+ g_assert_no_error (error);
+
+- name_owner = g_dbus_proxy_get_name_owner (proxy);
+- g_assert_cmpstr (name_owner, !=, NULL);
++ id = g_timeout_add_seconds (60, give_up,
++ "waited more than ~ 60s for gdbus-testserver to take its bus name");
++
++ while (TRUE)
++ {
++ name_owner = g_dbus_proxy_get_name_owner (proxy);
++
++ if (name_owner != NULL)
++ break;
++
++ g_main_context_iteration (NULL, TRUE);
++ }
++
++ g_source_remove (id);
+ g_free (name_owner);
+
+ test_method_calls_on_proxy (proxy);
+@@ -592,9 +612,6 @@ main (int argc,
+ g_assert (g_spawn_command_line_async (path, NULL));
+ g_free (path);
+
+- /* wait for the service to come up */
+- usleep (500 * 1000);
+-
+ /* Create the connection in the main thread */
+ error = NULL;
+ c = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
Modified: desktop/experimental/glib2.0/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/glib2.0/debian/patches/series?rev=40465&op=diff
==============================================================================
--- desktop/experimental/glib2.0/debian/patches/series [utf-8] (original)
+++ desktop/experimental/glib2.0/debian/patches/series [utf-8] Tue Feb 11 16:48:19 2014
@@ -15,3 +15,7 @@
tests-move-param-implement-to-m-slow.patch
Don-t-use-a-parallel-build-for-the-documentation.patch
Do-not-attempt-to-autolaunch-a-session-dbus-daemon-w.patch
+gdbus-Let-the-pending-read-finish-before-closing-the.patch
+Fix-races-in-unix-signal-dispatch.patch
+gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch
+gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch
More information about the pkg-gnome-commits
mailing list