From ca9a93a1335f5f21e5f6c8025fa6630221864ad804082e24b4b8a8acdc18bb9f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 13 Mar 2013 23:00:01 +0000 Subject: [PATCH 1/3] Accepting request 158313 from GNOME:Next Push GNOME:Next OBS-URL: https://build.opensuse.org/request/show/158313 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/evolution-data-server?expand=0&rev=154 --- baselibs.conf | 10 +- e-d-s-address-crash-on-cancel.patch | 249 ----------- e-d-s-fix-slow-composer-open.patch | 29 -- e-d-s-ldap-mutex-deadlock-fix.patch | 133 ------ e-d-s-link-goa.patch | 12 + ...chedule-higher-idle-priority-actions.patch | 386 ------------------ e-d-s-store_synchronize_sync.patch | 122 ------ e-d-s-use-G_PRIORITY_HIGH_IDLE.patch | 268 ------------ evolution-data-server-3.6.3.tar.xz | 3 - evolution-data-server-3.7.91.tar.xz | 3 + evolution-data-server.changes | 216 ++++++++++ evolution-data-server.spec | 128 +++--- 12 files changed, 292 insertions(+), 1267 deletions(-) delete mode 100644 e-d-s-address-crash-on-cancel.patch delete mode 100644 e-d-s-fix-slow-composer-open.patch delete mode 100644 e-d-s-ldap-mutex-deadlock-fix.patch create mode 100644 e-d-s-link-goa.patch delete mode 100644 e-d-s-schedule-higher-idle-priority-actions.patch delete mode 100644 e-d-s-store_synchronize_sync.patch delete mode 100644 e-d-s-use-G_PRIORITY_HIGH_IDLE.patch delete mode 100644 evolution-data-server-3.6.3.tar.xz create mode 100644 evolution-data-server-3.7.91.tar.xz diff --git a/baselibs.conf b/baselibs.conf index 8b57240..390a182 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,8 +1,8 @@ -libcamel-1_2-40 -libebackend-1_2-5 +libcamel-1_2-43 +libebackend-1_2-6 libebook-1_2-14 +libebook-contacts-1_2-0 libecal-1_2-15 -libedata-book-1_2-15 -libedata-cal-1_2-18 +libedata-book-1_2-17 +libedata-cal-1_2-20 libedataserver-1_2-17 -libedataserverui-3_0-4 diff --git a/e-d-s-address-crash-on-cancel.patch b/e-d-s-address-crash-on-cancel.patch deleted file mode 100644 index f8956df..0000000 --- a/e-d-s-address-crash-on-cancel.patch +++ /dev/null @@ -1,249 +0,0 @@ -From 7c52fbd81093c1264e3d8aa6cdcf5c8bdc7b1772 Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Fri, 25 Jan 2013 16:27:55 +0000 -Subject: EGdbusTemplates: Address crash on operation cancel - -In situations when a synchronous operation was cancelled, but the response -was already piled in main context the client could receive two replies, one -from the reply, the other from the cancelled operation, effectively accessing -invalid memory in the second response. This may address also other similar -situations caused by cancelled operations. ---- -(limited to 'libedataserver/e-gdbus-templates.c') - -diff --git a/libedataserver/e-gdbus-templates.c b/libedataserver/e-gdbus-templates.c -index 60306be..ef3e476 100644 ---- a/libedataserver/e-gdbus-templates.c -+++ b/libedataserver/e-gdbus-templates.c -@@ -844,6 +844,7 @@ e_gdbus_complete_sync_method_uint (gpointer object, - - typedef struct _AsyncOpData - { -+ gint ref_count; - EGdbusAsyncOpKeeper *proxy; - guint opid; - -@@ -871,27 +872,37 @@ async_op_data_free (AsyncOpData *op_data) - - g_return_if_fail (op_data != NULL); - -+ pending_ops = e_gdbus_async_op_keeper_get_pending_ops (op_data->proxy); -+ - if (op_data->cancel_idle_id) { - GError *error = NULL; - - g_source_remove (op_data->cancel_idle_id); - op_data->cancel_idle_id = 0; - -+ if (pending_ops) -+ g_hash_table_remove (pending_ops, GUINT_TO_POINTER (op_data->opid)); -+ - if (!e_gdbus_async_op_keeper_cancel_op_sync (op_data->proxy, op_data->opid, NULL, &error)) { - g_debug ("%s: Failed to cancel operation: %s\n", G_STRFUNC, error ? error->message : "Unknown error"); - g_clear_error (&error); - } -+ } else if (pending_ops) { -+ g_hash_table_remove (pending_ops, GUINT_TO_POINTER (op_data->opid)); - } - - if (op_data->cancellable) { -- if (op_data->cancel_id) -+ if (op_data->cancel_id) { - g_cancellable_disconnect (op_data->cancellable, op_data->cancel_id); -+ op_data->cancel_id = 0; -+ } - g_object_unref (op_data->cancellable); -+ op_data->cancellable = NULL; - } - -- pending_ops = e_gdbus_async_op_keeper_get_pending_ops (E_GDBUS_ASYNC_OP_KEEPER (op_data->proxy)); -- if (pending_ops) -- g_hash_table_remove (pending_ops, GUINT_TO_POINTER (op_data->opid)); -+ if (!g_atomic_int_dec_and_test (&op_data->ref_count)) -+ return; -+ - g_object_unref (op_data->proxy); - - switch (op_data->result_type) { -@@ -919,6 +930,7 @@ async_op_complete (AsyncOpData *op_data, - - g_return_if_fail (op_data != NULL); - -+ g_atomic_int_inc (&op_data->ref_count); - simple = g_simple_async_result_new (G_OBJECT (op_data->proxy), op_data->async_callback, op_data->async_user_data, op_data->async_source_tag); - g_simple_async_result_set_op_res_gpointer (simple, op_data, (GDestroyNotify) async_op_data_free); - if (error) -@@ -932,13 +944,43 @@ async_op_complete (AsyncOpData *op_data, - g_object_unref (simple); - } - -+typedef struct _CancelData -+{ -+ EGdbusAsyncOpKeeper *proxy; -+ guint opid; -+ AsyncOpData *op_data; -+} CancelData; -+ -+static void -+cancel_data_free (gpointer ptr) -+{ -+ CancelData *cd = ptr; -+ -+ if (!cd) -+ return; -+ -+ g_object_unref (cd->proxy); -+ g_free (cd); -+} -+ - static gboolean - e_gdbus_op_cancelled_idle_cb (gpointer user_data) - { -- AsyncOpData *op_data = user_data; -+ CancelData *cd = user_data; -+ AsyncOpData *op_data; -+ GHashTable *pending_ops; - GCancellable *cancellable; - GError *error = NULL; - -+ g_return_val_if_fail (cd != NULL, FALSE); -+ -+ pending_ops = e_gdbus_async_op_keeper_get_pending_ops (cd->proxy); -+ if (pending_ops && !g_hash_table_lookup (pending_ops, GUINT_TO_POINTER (cd->opid))) { -+ /* got served already */ -+ return FALSE; -+ } -+ -+ op_data = cd->op_data; - g_return_val_if_fail (op_data != NULL, FALSE); - - cancellable = op_data->cancellable; -@@ -961,12 +1003,19 @@ static void - e_gdbus_op_cancelled_cb (GCancellable *cancellable, - AsyncOpData *op_data) - { -+ CancelData *cd; -+ - g_return_if_fail (op_data != NULL); - g_return_if_fail (op_data->cancellable == cancellable); - -+ cd = g_new0 (CancelData, 1); -+ cd->proxy = g_object_ref (op_data->proxy); -+ cd->opid = op_data->opid; -+ cd->op_data = op_data; -+ - /* do this on idle, because this callback should be left - * as soon as possible, with no sync calls being done */ -- op_data->cancel_idle_id = g_idle_add (e_gdbus_op_cancelled_idle_cb, op_data); -+ op_data->cancel_idle_id = g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, e_gdbus_op_cancelled_idle_cb, cd, cancel_data_free); - } - - static void -@@ -1370,9 +1419,21 @@ e_gdbus_proxy_sync_ready_cb (GObject *proxy, - GAsyncResult *result, - gpointer user_data) - { -- SyncOpData *sync_data = user_data; -+ gint sync_opid = GPOINTER_TO_INT (user_data); -+ gchar *sync_opid_ident; -+ SyncOpData *sync_data; -+ -+ sync_opid_ident = g_strdup_printf ("EGdbusTemplates-SyncOp-%d", sync_opid); -+ sync_data = g_object_get_data (proxy, sync_opid_ident); -+ g_free (sync_opid_ident); -+ -+ if (!sync_data) { -+ /* already finished operation; it can happen when the operation is cancelled, -+ but the result is already waiting in an idle queue. -+ */ -+ return; -+ } - -- g_return_if_fail (sync_data != NULL); - g_return_if_fail (sync_data->flag != NULL); - - switch (sync_data->out_type) { -@@ -1415,12 +1476,17 @@ e_gdbus_proxy_call_sync (GDBusProxy *proxy, - guint out_type, - gpointer out_value) - { -+ static volatile gint sync_op_counter = 0; -+ gint sync_opid; -+ gchar *sync_opid_ident; - SyncOpData sync_data = { 0 }; - - g_return_val_if_fail (proxy != NULL, FALSE); - g_return_val_if_fail (start_func != NULL, FALSE); - g_return_val_if_fail (finish_func != NULL, FALSE); - -+ g_object_ref (proxy); -+ - switch (out_type) { - case E_GDBUS_TYPE_VOID: - sync_data.finish_func.finish_void = finish_func; -@@ -1443,6 +1509,7 @@ e_gdbus_proxy_call_sync (GDBusProxy *proxy, - break; - default: - g_warning ("%s: Unknown 'out' E_GDBUS_TYPE %x", G_STRFUNC, out_type); -+ g_object_unref (proxy); - return FALSE; - } - -@@ -1450,30 +1517,37 @@ e_gdbus_proxy_call_sync (GDBusProxy *proxy, - sync_data.error = error; - sync_data.out_type = out_type; - -+ sync_opid = g_atomic_int_add (&sync_op_counter, 1); -+ sync_opid_ident = g_strdup_printf ("EGdbusTemplates-SyncOp-%d", sync_opid); -+ g_object_set_data (G_OBJECT (proxy), sync_opid_ident, &sync_data); -+ - switch (in_type) { - case E_GDBUS_TYPE_VOID: { - EGdbusCallStartVoid start = start_func; -- start (proxy, cancellable, e_gdbus_proxy_sync_ready_cb, &sync_data); -+ start (proxy, cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid)); - } break; - case E_GDBUS_TYPE_BOOLEAN: { - EGdbusCallStartBoolean start = start_func; -- start (proxy, * ((gboolean *) in_value), cancellable, e_gdbus_proxy_sync_ready_cb, &sync_data); -+ start (proxy, * ((gboolean *) in_value), cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid)); - } break; - case E_GDBUS_TYPE_STRING: { - EGdbusCallStartString start = start_func; -- start (proxy, (const gchar *) in_value, cancellable, e_gdbus_proxy_sync_ready_cb, &sync_data); -+ start (proxy, (const gchar *) in_value, cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid)); - } break; - case E_GDBUS_TYPE_STRV: { - EGdbusCallStartStrv start = start_func; -- start (proxy, (const gchar * const *) in_value, cancellable, e_gdbus_proxy_sync_ready_cb, &sync_data); -+ start (proxy, (const gchar * const *) in_value, cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid)); - } break; - case E_GDBUS_TYPE_UINT: { - EGdbusCallStartUint start = start_func; -- start (proxy, * ((guint *) in_value), cancellable, e_gdbus_proxy_sync_ready_cb, &sync_data); -+ start (proxy, * ((guint *) in_value), cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid)); - } break; - default: - g_warning ("%s: Unknown 'in' E_GDBUS_TYPE %x", G_STRFUNC, in_type); - e_flag_free (sync_data.flag); -+ g_object_set_data (G_OBJECT (proxy), sync_opid_ident, NULL); -+ g_free (sync_opid_ident); -+ g_object_unref (proxy); - return FALSE; - } - -@@ -1502,8 +1576,12 @@ e_gdbus_proxy_call_sync (GDBusProxy *proxy, - /* is called in a dedicated thread */ - e_flag_wait (sync_data.flag); - } -+ g_object_set_data (G_OBJECT (proxy), sync_opid_ident, NULL); - e_flag_free (sync_data.flag); - -+ g_free (sync_opid_ident); -+ g_object_unref (proxy); -+ - return sync_data.finish_result; - } - --- -cgit v0.9.0.2 diff --git a/e-d-s-fix-slow-composer-open.patch b/e-d-s-fix-slow-composer-open.patch deleted file mode 100644 index 6862e6d..0000000 --- a/e-d-s-fix-slow-composer-open.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d92dc8b420cd599143649dca65bed55a035dd5b6 Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Thu, 31 Jan 2013 16:33:07 +0000 -Subject: Bug #689476 - Slow composer open (ENameSelector object leaks) - ---- -diff --git a/libedataserverui/e-name-selector.c b/libedataserverui/e-name-selector.c -index ddbb067..4badff3 100644 ---- a/libedataserverui/e-name-selector.c -+++ b/libedataserverui/e-name-selector.c -@@ -331,6 +331,16 @@ name_selector_dispose (GObject *object) - g_array_set_size (priv->source_books, 0); - g_array_set_size (priv->sections, 0); - -+ if (priv->dialog) { -+ gtk_widget_destroy (GTK_WIDGET (priv->dialog)); -+ priv->dialog = NULL; -+ } -+ -+ if (priv->model) { -+ g_object_unref (priv->model); -+ priv->model = NULL; -+ } -+ - /* Chain up to parent's dispose() method. */ - G_OBJECT_CLASS (e_name_selector_parent_class)->dispose (object); - } --- -cgit v0.9.0.2 diff --git a/e-d-s-ldap-mutex-deadlock-fix.patch b/e-d-s-ldap-mutex-deadlock-fix.patch deleted file mode 100644 index 0bcfbf5..0000000 --- a/e-d-s-ldap-mutex-deadlock-fix.patch +++ /dev/null @@ -1,133 +0,0 @@ -From a84d0269dcd3978232cf5dce77ae4a6d7f6107fd Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Tue, 22 Jan 2013 19:44:41 +0000 -Subject: Bug #692278 - LDAP backend mutex deadlock on finalize - ---- -diff --git a/addressbook/backends/ldap/e-book-backend-ldap.c b/addressbook/backends/ldap/e-book-backend-ldap.c -index 0de07f2..1f346ac 100644 ---- a/addressbook/backends/ldap/e-book-backend-ldap.c -+++ b/addressbook/backends/ldap/e-book-backend-ldap.c -@@ -214,7 +214,7 @@ struct _EBookBackendLDAPPrivate { - gboolean marked_for_offline; - - /* our operations */ -- GStaticRecMutex op_hash_mutex; -+ GStaticRecMutex op_hash_mutex; /* lock also eds_ldap_handler_lock before this lock */ - GHashTable *id_to_op; - gint active_ops; - guint poll_timeout; -@@ -1147,6 +1147,7 @@ ldap_op_add (LDAPOp *op, - op->handler = handler; - op->dtor = dtor; - -+ g_static_rec_mutex_lock (&eds_ldap_handler_lock); - g_static_rec_mutex_lock (&bl->priv->op_hash_mutex); - if (g_hash_table_lookup (bl->priv->id_to_op, &op->id)) { - g_warning ("conflicting ldap msgid's"); -@@ -1161,6 +1162,7 @@ ldap_op_add (LDAPOp *op, - LDAP_POLL_INTERVAL, - (GSourceFunc) poll_ldap, bl); - g_static_rec_mutex_unlock (&bl->priv->op_hash_mutex); -+ g_static_rec_mutex_unlock (&eds_ldap_handler_lock); - } - - static void -@@ -1169,6 +1171,7 @@ ldap_op_finished (LDAPOp *op) - EBookBackend *backend = op->backend; - EBookBackendLDAP *bl = E_BOOK_BACKEND_LDAP (backend); - -+ g_static_rec_mutex_lock (&eds_ldap_handler_lock); - g_static_rec_mutex_lock (&bl->priv->op_hash_mutex); - g_hash_table_remove (bl->priv->id_to_op, &op->id); - -@@ -1176,10 +1179,8 @@ ldap_op_finished (LDAPOp *op) - book_view_notify_status (bl, find_book_view (bl), ""); - - /* should handle errors here */ -- g_static_rec_mutex_lock (&eds_ldap_handler_lock); - if (bl->priv->ldap) - ldap_abandon (bl->priv->ldap, op->id); -- g_static_rec_mutex_unlock (&eds_ldap_handler_lock); - - if (op->dtor) - op->dtor (op); -@@ -1193,6 +1194,7 @@ ldap_op_finished (LDAPOp *op) - } - } - g_static_rec_mutex_unlock (&bl->priv->op_hash_mutex); -+ g_static_rec_mutex_unlock (&eds_ldap_handler_lock); - } - - static void -@@ -1202,6 +1204,7 @@ ldap_op_change_id (LDAPOp *op, - EBookBackend *backend = op->backend; - EBookBackendLDAP *bl = E_BOOK_BACKEND_LDAP (backend); - -+ g_static_rec_mutex_lock (&eds_ldap_handler_lock); - g_static_rec_mutex_lock (&bl->priv->op_hash_mutex); - g_hash_table_remove (bl->priv->id_to_op, &op->id); - -@@ -1209,6 +1212,7 @@ ldap_op_change_id (LDAPOp *op, - - g_hash_table_insert (bl->priv->id_to_op, &op->id, op); - g_static_rec_mutex_unlock (&bl->priv->op_hash_mutex); -+ g_static_rec_mutex_unlock (&eds_ldap_handler_lock); - } - - static GError * -@@ -5226,10 +5230,11 @@ ldap_cancel_op (gpointer key, - LDAPOp *op = value; - - /* ignore errors, its only best effort? */ -- g_static_rec_mutex_lock (&eds_ldap_handler_lock); -+ /* lock is held by the caller */ -+ /* g_static_rec_mutex_lock (&eds_ldap_handler_lock); */ - if (bl->priv->ldap) - ldap_abandon (bl->priv->ldap, op->id); -- g_static_rec_mutex_unlock (&eds_ldap_handler_lock); -+ /* g_static_rec_mutex_unlock (&eds_ldap_handler_lock); */ - } - - static void -@@ -5237,9 +5242,11 @@ ldap_cancel_all_operations (EBookBackend *backend) - { - EBookBackendLDAP *bl = E_BOOK_BACKEND_LDAP (backend); - -+ g_static_rec_mutex_lock (&eds_ldap_handler_lock); - g_static_rec_mutex_lock (&bl->priv->op_hash_mutex); - g_hash_table_foreach (bl->priv->id_to_op, ldap_cancel_op, bl); - g_static_rec_mutex_unlock (&bl->priv->op_hash_mutex); -+ g_static_rec_mutex_unlock (&eds_ldap_handler_lock); - } - - static void -@@ -5533,10 +5540,11 @@ call_dtor (gint msgid, - - bl = E_BOOK_BACKEND_LDAP (op->backend); - -- g_static_rec_mutex_lock (&eds_ldap_handler_lock); -+ /* lock is held by the caller */ -+ /* g_static_rec_mutex_lock (&eds_ldap_handler_lock); */ - if (bl->priv->ldap) - ldap_abandon (bl->priv->ldap, op->id); -- g_static_rec_mutex_unlock (&eds_ldap_handler_lock); -+ /* g_static_rec_mutex_unlock (&eds_ldap_handler_lock); */ - - op->dtor (op); - -@@ -5550,10 +5558,12 @@ e_book_backend_ldap_finalize (GObject *object) - - priv = E_BOOK_BACKEND_LDAP_GET_PRIVATE (object); - -+ g_static_rec_mutex_lock (&eds_ldap_handler_lock); - g_static_rec_mutex_lock (&priv->op_hash_mutex); - g_hash_table_foreach_remove (priv->id_to_op, (GHRFunc) call_dtor, NULL); - g_hash_table_destroy (priv->id_to_op); - g_static_rec_mutex_unlock (&priv->op_hash_mutex); -+ g_static_rec_mutex_unlock (&eds_ldap_handler_lock); - g_static_rec_mutex_free (&priv->op_hash_mutex); - - /* Remove the timeout before unbinding to avoid a race. */ --- -cgit v0.9.0.2 diff --git a/e-d-s-link-goa.patch b/e-d-s-link-goa.patch new file mode 100644 index 0000000..84b1d99 --- /dev/null +++ b/e-d-s-link-goa.patch @@ -0,0 +1,12 @@ +diff --git a/modules/gnome-online-accounts/Makefile.am b/modules/gnome-online-accounts/Makefile.am +index 0960e31..30ace58 100644 +--- a/modules/gnome-online-accounts/Makefile.am ++++ b/modules/gnome-online-accounts/Makefile.am +@@ -28,6 +28,7 @@ module_gnome_online_accounts_la_SOURCES = \ + module_gnome_online_accounts_la_LIBADD = \ + $(top_builddir)/libebackend/libebackend-1.2.la \ + $(top_builddir)/libedataserver/libedataserver-1.2.la \ ++ $(top_builddir)/camel/libcamel-1.2.la \ + $(E_BACKEND_LIBS) \ + $(CAMEL_LIBS) \ + $(SOUP_LIBS) \ diff --git a/e-d-s-schedule-higher-idle-priority-actions.patch b/e-d-s-schedule-higher-idle-priority-actions.patch deleted file mode 100644 index 0258826..0000000 --- a/e-d-s-schedule-higher-idle-priority-actions.patch +++ /dev/null @@ -1,386 +0,0 @@ -From 9e0e08e201f853239fe02b7e694d3e1eac770e47 Mon Sep 17 00:00:00 2001 -From: Michel Dänzer -Date: Fri, 08 Feb 2013 11:07:39 +0000 -Subject: Bug #683867 - Schedule actions with higher idle priority - ---- -diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c -index 3c43bed..b956550 100644 ---- a/calendar/libecal/e-cal.c -+++ b/calendar/libecal/e-cal.c -@@ -1151,7 +1151,7 @@ async_report_idle (ECal *ecal, - data->ecal = g_object_ref (ecal); - data->error = error; - -- g_idle_add (idle_async_error_reply_cb, data); -+ g_idle_add_full (G_PRIORITY_DEFAULT, idle_async_error_reply_cb, data, NULL); - } - - /** -diff --git a/camel/camel-folder.c b/camel/camel-folder.c -index a262b02..9788c96 100644 ---- a/camel/camel-folder.c -+++ b/camel/camel-folder.c -@@ -2782,7 +2782,7 @@ camel_folder_search_free (CamelFolder *folder, - * Marks @folder as deleted and performs any required cleanup. - * - * This also emits the #CamelFolder::deleted signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - **/ - void - camel_folder_delete (CamelFolder *folder) -@@ -2823,7 +2823,7 @@ camel_folder_delete (CamelFolder *folder) - signal_data->folder = g_object_ref (folder); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - folder_emit_deleted_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -2836,7 +2836,7 @@ camel_folder_delete (CamelFolder *folder) - * Marks @folder as renamed. - * - * This also emits the #CamelFolder::renamed signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - * - * NOTE: This is an internal function used by camel stores, no locking - * is performed on the folder. -@@ -2873,7 +2873,7 @@ camel_folder_rename (CamelFolder *folder, - signal_data->folder_name = old_name; /* transfer ownership */ - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - folder_emit_renamed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -diff --git a/camel/camel-imapx-server.c b/camel/camel-imapx-server.c -index 75b73f6..2708f16 100644 ---- a/camel/camel-imapx-server.c -+++ b/camel/camel-imapx-server.c -@@ -6284,7 +6284,7 @@ imapx_server_dispose (GObject *object) - - if (server->parser_thread) { - if (server->parser_thread == g_thread_self ()) -- g_idle_add (&join_helper, server->parser_thread); -+ g_idle_add_full (G_PRIORITY_HIGH, &join_helper, server->parser_thread, NULL); - else - g_thread_join (server->parser_thread); - server->parser_thread = NULL; -diff --git a/camel/camel-service.c b/camel/camel-service.c -index 316b688..6fed559 100644 ---- a/camel/camel-service.c -+++ b/camel/camel-service.c -@@ -409,7 +409,7 @@ service_queue_notify_connection_status (CamelService *service) - session = camel_service_get_session (service); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - service_notify_connection_status_cb, - g_object_ref (service), - (GDestroyNotify) g_object_unref); -diff --git a/camel/camel-session.c b/camel/camel-session.c -index abcf34f..ba65eb8 100644 ---- a/camel/camel-session.c -+++ b/camel/camel-session.c -@@ -53,7 +53,7 @@ - (G_TYPE_INSTANCE_GET_PRIVATE \ - ((obj), CAMEL_TYPE_SESSION, CamelSessionPrivate)) - --#define JOB_PRIORITY G_PRIORITY_LOW -+#define JOB_PRIORITY G_PRIORITY_DEFAULT - - #define d(x) - -diff --git a/camel/camel-store.c b/camel/camel-store.c -index b74126f..e80a304 100644 ---- a/camel/camel-store.c -+++ b/camel/camel-store.c -@@ -1268,7 +1268,7 @@ camel_store_error_quark (void) - * @folder_info: information about the created folder - * - * Emits the #CamelStore::folder-created signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - * - * This function is only intended for Camel providers. - * -@@ -1291,7 +1291,7 @@ camel_store_folder_created (CamelStore *store, - signal_data->folder_info = camel_folder_info_clone (folder_info); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - store_emit_folder_created_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -1302,7 +1302,7 @@ camel_store_folder_created (CamelStore *store, - * @folder_info: information about the deleted folder - * - * Emits the #CamelStore::folder-deleted signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - * - * This function is only intended for Camel providers. - * -@@ -1325,7 +1325,7 @@ camel_store_folder_deleted (CamelStore *store, - signal_data->folder_info = camel_folder_info_clone (folder_info); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - store_emit_folder_deleted_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -1336,7 +1336,7 @@ camel_store_folder_deleted (CamelStore *store, - * @folder: the #CamelFolder that was opened - * - * Emits the #CamelStore::folder-opened signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - * - * This function is only intended for Camel providers. - * -@@ -1359,7 +1359,7 @@ camel_store_folder_opened (CamelStore *store, - signal_data->folder = g_object_ref (folder); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - store_emit_folder_opened_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -1371,7 +1371,7 @@ camel_store_folder_opened (CamelStore *store, - * @folder_info: information about the renamed folder - * - * Emits the #CamelStore::folder-renamed signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - * - * This function is only intended for Camel providers. - * -@@ -1397,7 +1397,7 @@ camel_store_folder_renamed (CamelStore *store, - signal_data->folder_name = g_strdup (old_name); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - store_emit_folder_renamed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -diff --git a/camel/camel-subscribable.c b/camel/camel-subscribable.c -index ceb18d0..b73395e 100644 ---- a/camel/camel-subscribable.c -+++ b/camel/camel-subscribable.c -@@ -611,7 +611,7 @@ camel_subscribable_unsubscribe_folder_finish (CamelSubscribable *subscribable, - * @folder_info: information about the subscribed folder - * - * Emits the #CamelSubscribable::folder-subscribed signal from an idle source -- * on the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * on the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - * - * This function is only intended for Camel providers. - * -@@ -636,7 +636,7 @@ camel_subscribable_folder_subscribed (CamelSubscribable *subscribable, - signal_data->folder_info = camel_folder_info_clone (folder_info); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - subscribable_emit_folder_subscribed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -647,7 +647,7 @@ camel_subscribable_folder_subscribed (CamelSubscribable *subscribable, - * @folder_info: information about the unsubscribed folder - * - * Emits the #CamelSubscribable::folder-unsubscribed signal from an idle source -- * on the main loop. The idle source's priority is #G_PRIORITY_DEFAULT_IDLE. -+ * on the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. - * - * This function is only intended for Camel providers. - * -@@ -672,7 +672,7 @@ camel_subscribable_folder_unsubscribed (CamelSubscribable *subscribable, - signal_data->folder_info = camel_folder_info_clone (folder_info); - - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT_IDLE, -+ session, G_PRIORITY_DEFAULT, - subscribable_emit_folder_unsubscribed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -diff --git a/libedataserver/e-gdbus-templates.c b/libedataserver/e-gdbus-templates.c -index ef3e476..5d99703 100644 ---- a/libedataserver/e-gdbus-templates.c -+++ b/libedataserver/e-gdbus-templates.c -@@ -1015,7 +1015,7 @@ e_gdbus_op_cancelled_cb (GCancellable *cancellable, - - /* do this on idle, because this callback should be left - * as soon as possible, with no sync calls being done */ -- op_data->cancel_idle_id = g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, e_gdbus_op_cancelled_idle_cb, cd, cancel_data_free); -+ op_data->cancel_idle_id = g_idle_add_full (G_PRIORITY_DEFAULT, e_gdbus_op_cancelled_idle_cb, cd, cancel_data_free); - } - - static void --- -cgit v0.9.0.2 -From 03fcc5f17581b6b1b50a11bd46cc46ddb4289391 Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Fri, 08 Feb 2013 16:34:48 +0000 -Subject: Add comments around g_idle_add() changes - ---- -diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c -index b956550..c54011a 100644 ---- a/calendar/libecal/e-cal.c -+++ b/calendar/libecal/e-cal.c -@@ -1151,6 +1151,7 @@ async_report_idle (ECal *ecal, - data->ecal = g_object_ref (ecal); - data->error = error; - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE) */ - g_idle_add_full (G_PRIORITY_DEFAULT, idle_async_error_reply_cb, data, NULL); - } - -diff --git a/camel/camel-folder.c b/camel/camel-folder.c -index 9788c96..8c2a31c 100644 ---- a/camel/camel-folder.c -+++ b/camel/camel-folder.c -@@ -2822,6 +2822,8 @@ camel_folder_delete (CamelFolder *folder) - signal_data = g_slice_new0 (SignalData); - signal_data->folder = g_object_ref (folder); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - folder_emit_deleted_cb, -@@ -2872,6 +2874,8 @@ camel_folder_rename (CamelFolder *folder, - signal_data->folder = g_object_ref (folder); - signal_data->folder_name = old_name; /* transfer ownership */ - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - folder_emit_renamed_cb, -diff --git a/camel/camel-imapx-server.c b/camel/camel-imapx-server.c -index 2708f16..1d16189 100644 ---- a/camel/camel-imapx-server.c -+++ b/camel/camel-imapx-server.c -@@ -6284,6 +6284,7 @@ imapx_server_dispose (GObject *object) - - if (server->parser_thread) { - if (server->parser_thread == g_thread_self ()) -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE) */ - g_idle_add_full (G_PRIORITY_HIGH, &join_helper, server->parser_thread, NULL); - else - g_thread_join (server->parser_thread); -diff --git a/camel/camel-service.c b/camel/camel-service.c -index 6fed559..e23cb31 100644 ---- a/camel/camel-service.c -+++ b/camel/camel-service.c -@@ -408,6 +408,8 @@ service_queue_notify_connection_status (CamelService *service) - - session = camel_service_get_session (service); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - service_notify_connection_status_cb, -diff --git a/camel/camel-session.c b/camel/camel-session.c -index ba65eb8..48c39fb 100644 ---- a/camel/camel-session.c -+++ b/camel/camel-session.c -@@ -53,6 +53,8 @@ - (G_TYPE_INSTANCE_GET_PRIVATE \ - ((obj), CAMEL_TYPE_SESSION, CamelSessionPrivate)) - -+/* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - #define JOB_PRIORITY G_PRIORITY_DEFAULT - - #define d(x) -diff --git a/camel/camel-store.c b/camel/camel-store.c -index e80a304..7015fd2 100644 ---- a/camel/camel-store.c -+++ b/camel/camel-store.c -@@ -1290,6 +1290,8 @@ camel_store_folder_created (CamelStore *store, - signal_data->store = g_object_ref (store); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - store_emit_folder_created_cb, -@@ -1324,6 +1326,8 @@ camel_store_folder_deleted (CamelStore *store, - signal_data->store = g_object_ref (store); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - store_emit_folder_deleted_cb, -@@ -1358,6 +1362,8 @@ camel_store_folder_opened (CamelStore *store, - signal_data->store = g_object_ref (store); - signal_data->folder = g_object_ref (folder); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - store_emit_folder_opened_cb, -@@ -1396,6 +1402,8 @@ camel_store_folder_renamed (CamelStore *store, - signal_data->folder_info = camel_folder_info_clone (folder_info); - signal_data->folder_name = g_strdup (old_name); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - store_emit_folder_renamed_cb, -diff --git a/camel/camel-subscribable.c b/camel/camel-subscribable.c -index b73395e..470a4e0 100644 ---- a/camel/camel-subscribable.c -+++ b/camel/camel-subscribable.c -@@ -635,6 +635,8 @@ camel_subscribable_folder_subscribed (CamelSubscribable *subscribable, - signal_data->subscribable = g_object_ref (subscribable); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - subscribable_emit_folder_subscribed_cb, -@@ -671,6 +673,8 @@ camel_subscribable_folder_unsubscribed (CamelSubscribable *subscribable, - signal_data->subscribable = g_object_ref (subscribable); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -+ same as GAsyncResult, where this operation is quite similar to it anyway */ - camel_session_idle_add ( - session, G_PRIORITY_DEFAULT, - subscribable_emit_folder_unsubscribed_cb, -diff --git a/libedataserver/e-gdbus-templates.c b/libedataserver/e-gdbus-templates.c -index 5d99703..d741001 100644 ---- a/libedataserver/e-gdbus-templates.c -+++ b/libedataserver/e-gdbus-templates.c -@@ -1014,7 +1014,9 @@ e_gdbus_op_cancelled_cb (GCancellable *cancellable, - cd->op_data = op_data; - - /* do this on idle, because this callback should be left -- * as soon as possible, with no sync calls being done */ -+ * as soon as possible, with no sync calls being done; -+ * also schedule with priority higher than gtk+ uses -+ * for animations (check docs for G_PRIORITY_HIGH_IDLE) */ - op_data->cancel_idle_id = g_idle_add_full (G_PRIORITY_DEFAULT, e_gdbus_op_cancelled_idle_cb, cd, cancel_data_free); - } - --- -cgit v0.9.0.2 diff --git a/e-d-s-store_synchronize_sync.patch b/e-d-s-store_synchronize_sync.patch deleted file mode 100644 index 1ac4105..0000000 --- a/e-d-s-store_synchronize_sync.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 71257132e4673566a26d8a0f9cb2e066367444bb Mon Sep 17 00:00:00 2001 -From: Matthew Barnes -Date: Fri, 01 Feb 2013 12:42:14 +0000 -Subject: store_synchronize_sync() cleanups. - -(cherry picked from commit ad1b7cd145c5fa5443556c17ba6e9d701c531bb7) ---- -diff --git a/camel/camel-store.c b/camel/camel-store.c -index 593b426..e5a1863 100644 ---- a/camel/camel-store.c -+++ b/camel/camel-store.c -@@ -343,9 +343,8 @@ store_synchronize_sync (CamelStore *store, - GError **error) - { - GPtrArray *folders; -- CamelFolder *folder; - gboolean success = TRUE; -- gint i; -+ gint ii; - GError *local_error = NULL; - - if (expunge) { -@@ -353,27 +352,32 @@ store_synchronize_sync (CamelStore *store, - CamelFolderInfo *root, *fi; - - folders = g_ptr_array_new (); -- root = camel_store_get_folder_info_sync (store, NULL, CAMEL_STORE_FOLDER_INFO_RECURSIVE | CAMEL_STORE_FOLDER_INFO_NO_VIRTUAL, NULL, NULL); -+ root = camel_store_get_folder_info_sync ( -+ store, NULL, -+ CAMEL_STORE_FOLDER_INFO_RECURSIVE | -+ CAMEL_STORE_FOLDER_INFO_NO_VIRTUAL, -+ NULL, NULL); - fi = root; -- while (fi) { -+ while (fi != NULL) { - CamelFolderInfo *next; - - if ((fi->flags & CAMEL_FOLDER_NOSELECT) == 0) { -- CamelFolder *fldr; -+ CamelFolder *folder; - -- fldr = camel_store_get_folder_sync (store, fi->full_name, 0, NULL, NULL); -- if (fldr) -- g_ptr_array_add (folders, fldr); -+ folder = camel_store_get_folder_sync ( -+ store, fi->full_name, 0, NULL, NULL); -+ if (folder != NULL) -+ g_ptr_array_add (folders, folder); - } - - /* pick the next */ - next = fi->child; -- if (!next) -+ if (next == NULL) - next = fi->next; -- if (!next) { -+ if (next == NULL) { - next = fi->parent; -- while (next) { -- if (next->next) { -+ while (next != NULL) { -+ if (next->next != NULL) { - next = next->next; - break; - } -@@ -385,7 +389,7 @@ store_synchronize_sync (CamelStore *store, - fi = next; - } - -- if (root) -+ if (root != NULL) - camel_store_free_folder_info_full (store, root); - } else { - /* sync only folders opened until now */ -@@ -395,10 +399,10 @@ store_synchronize_sync (CamelStore *store, - /* We don't sync any vFolders, that is used to update certain - * vfolder queries mainly, and we're really only interested in - * storing/expunging the physical mails. */ -- for (i = 0; i < folders->len; i++) { -- folder = folders->pdata[i]; -- if (!CAMEL_IS_VEE_FOLDER (folder) -- && local_error == NULL) { -+ for (ii = 0; ii < folders->len; ii++) { -+ CamelFolder *folder = folders->pdata[ii]; -+ -+ if (!CAMEL_IS_VEE_FOLDER (folder) && local_error == NULL) { - camel_folder_synchronize_sync ( - folder, expunge, cancellable, &local_error); - ignore_no_such_table_exception (&local_error); --- -cgit v0.9.0.2 -From 3e7b237a6242a724830a412b95bbf8a80eb65d99 Mon Sep 17 00:00:00 2001 -From: Matthew Barnes -Date: Fri, 01 Feb 2013 12:45:56 +0000 -Subject: store_synchronize_sync(): Only sync subscribed folders. - -I recently added a Gmane (NNTP) account and have only a few newsgroup -subscriptions. Yet when I quit Evolution, Camel tries to synchronize -all 13,872 newsgroups which literally takes days to complete. - -This adds a CAMEL_STORE_FOLDER_INFO_SUBSCRIBED flag to the request for -a folder info tree while synchronizing + expunging. - -Note, CamelIMAPXStore will ignore the CAMEL_STORE_FOLDER_INFO_SUBSCRIBED -flag if its "use-subscriptions" setting is FALSE, which is what we want. - -(cherry picked from commit 48b9d17d16be9f0ecb6066036cc83d08b3cca817) ---- -diff --git a/camel/camel-store.c b/camel/camel-store.c -index e5a1863..b74126f 100644 ---- a/camel/camel-store.c -+++ b/camel/camel-store.c -@@ -355,6 +355,7 @@ store_synchronize_sync (CamelStore *store, - root = camel_store_get_folder_info_sync ( - store, NULL, - CAMEL_STORE_FOLDER_INFO_RECURSIVE | -+ CAMEL_STORE_FOLDER_INFO_SUBSCRIBED | - CAMEL_STORE_FOLDER_INFO_NO_VIRTUAL, - NULL, NULL); - fi = root; --- -cgit v0.9.0.2 diff --git a/e-d-s-use-G_PRIORITY_HIGH_IDLE.patch b/e-d-s-use-G_PRIORITY_HIGH_IDLE.patch deleted file mode 100644 index 897a4f5..0000000 --- a/e-d-s-use-G_PRIORITY_HIGH_IDLE.patch +++ /dev/null @@ -1,268 +0,0 @@ -From 147c817dd31ddee0ee097aa58ac3489c4d918f64 Mon Sep 17 00:00:00 2001 -From: Matthew Barnes -Date: Fri, 08 Feb 2013 19:08:00 +0000 -Subject: G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws. - -GTK+ uses (G_PRIORITY_HIGH_IDLE + 20) for redrawing operations, which is -actually a slightly lower priority than G_PRIORITY_HIGH_IDLE. Therefore -for our purpose, G_PRIORITY_HIGH_IDLE is sufficient. - -(cherry picked from commit 820dcf6cfc43265c6376f15d983381c3087a5d20) ---- -diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c -index c54011a..fcb8e9e 100644 ---- a/calendar/libecal/e-cal.c -+++ b/calendar/libecal/e-cal.c -@@ -1151,8 +1151,10 @@ async_report_idle (ECal *ecal, - data->ecal = g_object_ref (ecal); - data->error = error; - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE) */ -- g_idle_add_full (G_PRIORITY_DEFAULT, idle_async_error_reply_cb, data, NULL); -+ /* Prioritize ahead of GTK+ redraws. */ -+ g_idle_add_full ( -+ G_PRIORITY_HIGH_IDLE, -+ idle_async_error_reply_cb, data, NULL); - } - - /** -diff --git a/camel/camel-folder.c b/camel/camel-folder.c -index 8c2a31c..677f147 100644 ---- a/camel/camel-folder.c -+++ b/camel/camel-folder.c -@@ -2782,7 +2782,7 @@ camel_folder_search_free (CamelFolder *folder, - * Marks @folder as deleted and performs any required cleanup. - * - * This also emits the #CamelFolder::deleted signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - **/ - void - camel_folder_delete (CamelFolder *folder) -@@ -2822,10 +2822,9 @@ camel_folder_delete (CamelFolder *folder) - signal_data = g_slice_new0 (SignalData); - signal_data->folder = g_object_ref (folder); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - folder_emit_deleted_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -2838,7 +2837,7 @@ camel_folder_delete (CamelFolder *folder) - * Marks @folder as renamed. - * - * This also emits the #CamelFolder::renamed signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - * - * NOTE: This is an internal function used by camel stores, no locking - * is performed on the folder. -@@ -2874,10 +2873,9 @@ camel_folder_rename (CamelFolder *folder, - signal_data->folder = g_object_ref (folder); - signal_data->folder_name = old_name; /* transfer ownership */ - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - folder_emit_renamed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -diff --git a/camel/camel-imapx-server.c b/camel/camel-imapx-server.c -index 1d16189..b522df1 100644 ---- a/camel/camel-imapx-server.c -+++ b/camel/camel-imapx-server.c -@@ -6284,8 +6284,10 @@ imapx_server_dispose (GObject *object) - - if (server->parser_thread) { - if (server->parser_thread == g_thread_self ()) -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE) */ -- g_idle_add_full (G_PRIORITY_HIGH, &join_helper, server->parser_thread, NULL); -+ /* Prioritize ahead of GTK+ redraws. */ -+ g_idle_add_full ( -+ G_PRIORITY_HIGH_IDLE, -+ &join_helper, server->parser_thread, NULL); - else - g_thread_join (server->parser_thread); - server->parser_thread = NULL; -diff --git a/camel/camel-service.c b/camel/camel-service.c -index e23cb31..1fa28dd 100644 ---- a/camel/camel-service.c -+++ b/camel/camel-service.c -@@ -408,10 +408,9 @@ service_queue_notify_connection_status (CamelService *service) - - session = camel_service_get_session (service); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - service_notify_connection_status_cb, - g_object_ref (service), - (GDestroyNotify) g_object_unref); -diff --git a/camel/camel-session.c b/camel/camel-session.c -index 48c39fb..7feaeb5 100644 ---- a/camel/camel-session.c -+++ b/camel/camel-session.c -@@ -53,9 +53,8 @@ - (G_TYPE_INSTANCE_GET_PRIVATE \ - ((obj), CAMEL_TYPE_SESSION, CamelSessionPrivate)) - --/* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ --#define JOB_PRIORITY G_PRIORITY_DEFAULT -+/* Prioritize ahead of GTK+ redraws. */ -+#define JOB_PRIORITY G_PRIORITY_HIGH_IDLE - - #define d(x) - -diff --git a/camel/camel-store.c b/camel/camel-store.c -index 7015fd2..e03ed2c 100644 ---- a/camel/camel-store.c -+++ b/camel/camel-store.c -@@ -1268,7 +1268,7 @@ camel_store_error_quark (void) - * @folder_info: information about the created folder - * - * Emits the #CamelStore::folder-created signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - * - * This function is only intended for Camel providers. - * -@@ -1290,10 +1290,9 @@ camel_store_folder_created (CamelStore *store, - signal_data->store = g_object_ref (store); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - store_emit_folder_created_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -1304,7 +1303,7 @@ camel_store_folder_created (CamelStore *store, - * @folder_info: information about the deleted folder - * - * Emits the #CamelStore::folder-deleted signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - * - * This function is only intended for Camel providers. - * -@@ -1326,10 +1325,9 @@ camel_store_folder_deleted (CamelStore *store, - signal_data->store = g_object_ref (store); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - store_emit_folder_deleted_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -1340,7 +1338,7 @@ camel_store_folder_deleted (CamelStore *store, - * @folder: the #CamelFolder that was opened - * - * Emits the #CamelStore::folder-opened signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - * - * This function is only intended for Camel providers. - * -@@ -1362,10 +1360,9 @@ camel_store_folder_opened (CamelStore *store, - signal_data->store = g_object_ref (store); - signal_data->folder = g_object_ref (folder); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - store_emit_folder_opened_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -1377,7 +1374,7 @@ camel_store_folder_opened (CamelStore *store, - * @folder_info: information about the renamed folder - * - * Emits the #CamelStore::folder-renamed signal from an idle source on -- * the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - * - * This function is only intended for Camel providers. - * -@@ -1402,10 +1399,9 @@ camel_store_folder_renamed (CamelStore *store, - signal_data->folder_info = camel_folder_info_clone (folder_info); - signal_data->folder_name = g_strdup (old_name); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - store_emit_folder_renamed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -diff --git a/camel/camel-subscribable.c b/camel/camel-subscribable.c -index 470a4e0..ef14132 100644 ---- a/camel/camel-subscribable.c -+++ b/camel/camel-subscribable.c -@@ -611,7 +611,7 @@ camel_subscribable_unsubscribe_folder_finish (CamelSubscribable *subscribable, - * @folder_info: information about the subscribed folder - * - * Emits the #CamelSubscribable::folder-subscribed signal from an idle source -- * on the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * on the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - * - * This function is only intended for Camel providers. - * -@@ -635,10 +635,9 @@ camel_subscribable_folder_subscribed (CamelSubscribable *subscribable, - signal_data->subscribable = g_object_ref (subscribable); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - subscribable_emit_folder_subscribed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } -@@ -649,7 +648,7 @@ camel_subscribable_folder_subscribed (CamelSubscribable *subscribable, - * @folder_info: information about the unsubscribed folder - * - * Emits the #CamelSubscribable::folder-unsubscribed signal from an idle source -- * on the main loop. The idle source's priority is #G_PRIORITY_DEFAULT. -+ * on the main loop. The idle source's priority is #G_PRIORITY_HIGH_IDLE. - * - * This function is only intended for Camel providers. - * -@@ -673,10 +672,9 @@ camel_subscribable_folder_unsubscribed (CamelSubscribable *subscribable, - signal_data->subscribable = g_object_ref (subscribable); - signal_data->folder_info = camel_folder_info_clone (folder_info); - -- /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE), -- same as GAsyncResult, where this operation is quite similar to it anyway */ -+ /* Prioritize ahead of GTK+ redraws. */ - camel_session_idle_add ( -- session, G_PRIORITY_DEFAULT, -+ session, G_PRIORITY_HIGH_IDLE, - subscribable_emit_folder_unsubscribed_cb, - signal_data, (GDestroyNotify) signal_data_free); - } --- -cgit v0.9.0.2 diff --git a/evolution-data-server-3.6.3.tar.xz b/evolution-data-server-3.6.3.tar.xz deleted file mode 100644 index 45a0ba8..0000000 --- a/evolution-data-server-3.6.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:37a0d0d4f6c8515e70e34f1e7e1f457f4c7736f35ba0f18c4b4bca0a17db7de0 -size 4073908 diff --git a/evolution-data-server-3.7.91.tar.xz b/evolution-data-server-3.7.91.tar.xz new file mode 100644 index 0000000..b4842e2 --- /dev/null +++ b/evolution-data-server-3.7.91.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a27a081a141e737278d19c5edc449c77e1d54eb780010b04db7472ec2f4f3893 +size 3901508 diff --git a/evolution-data-server.changes b/evolution-data-server.changes index e54b730..6978a12 100644 --- a/evolution-data-server.changes +++ b/evolution-data-server.changes @@ -1,3 +1,219 @@ +------------------------------------------------------------------- +Sun Mar 3 15:31:47 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.91: + + Add VPN-awareness to calendar, contact, task and memo backends. + + Support GOA's new IMAP/SMTP provider. + + Added documentation for new Direct Read Access related apis. + + Fixing pkg-config files for libebook & libedata-book. + + source_write_sync: Fail gracefully when given a scratch source. + + source_remove_sync: Fail gracefully when given a scratch + source. + + e-test-server-utils: Add support for testing Direct Read Access + books. + + Ported various EBookClient tests to additionally test Direct + Read Access variants. + + Do not use SSL_V2_COMPATIBLE_HELLO by default. + + Local Delivery not updated on start and missing Receiving + Options page. + + EBookBackendSexp: Restore suffix search functionality. + + e_source_registry_server_load_directory: Monitor failure is + non-fatal. + + e_cal_client_modify_objects_sync: Fix infinite loop. + + EBookQuery/EPhoneNumber: Enhanced documentation. + + CamelSMIMEContext: Support IANA registered hash function names. + + evolution-user-prompter: Add a --keep-running option. + + Make the ESourceRegistryServer modules relocatable like + addressbook & calendar. + + Make the Camel provider modules relocatable. + + build: Support (and prefer) libboost_thread-mt. + + CamelIMAPXServer: Improve thread-safety when selecting folders. + + Bugs fixed: bgo#693101, bgo#693345, bgo#694152, bgo#694223, + bgo#694734. + + Updated translations. +- Add e-d-s-link-goa.patch: Fix linking stage. +- Add gnome-common BuildRequires and call to gnome-autgen.sh, as + above patch touches the build system. + +------------------------------------------------------------------- +Mon Feb 18 07:34:50 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.90: + + Improved phone number support. + + Direct access to local address books. + + Make e_book_client_is_self() more efficient. + + Add e_data_factory_ref_initable_backend(). + + Remove --with-dbus-call-timeout configure option. + + Add CAMEL_MIME_FILTER_TOHTML_QUOTE_CITATION flag. + + EBookClient: Use g_bus_watch_name_on_connection(). + + ECalClient: Use g_bus_watch_name_on_connection(). + + Add camel_service_ref_session(). + + Fix few memory leaks in evolution-source-registry. + + Introduce e_backend_is_destination_reachable(). + + CalDAV: Try to search for event when not in local cache. + + e_extensible_load_extensions: Allow for retries. + + Bugs fixed: bgo#675287, bgo#683867, bgo#686528, bgo#693841. + + Updated translations. +- Split new libebook-contacts-1_2-0 and + typelib-1_0-EBoobContacts-1_2 subpackages. +- Bump so_edata_book to 17, following upstream. +- Introduce new so_ebook_contacts defines for the new library. +- Update baselibs.conf. + +------------------------------------------------------------------- +Sat Feb 16 20:01:27 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.5: + + This release adds support for Ubuntu's Single-SignOn framework. + + Generate address book and calendar GDBus classes with + gdbus-codegen and simplify the APIs to require only one round + trip per method. + + Introduce e_book_client_connect() and e_cal_client_connect() as + one-step replacements for e_book/cal_client_new() + + e_client_open(). + + Built-in data sources are now packaged as a GResource rather + than installed data files for better reliability. + + Add --disable-google configure option to make libgdata + dependency optional. + + Unit test suite improvements. + + GOA: Support the upcoming "imap_smtp" provider type. + + Optional libphonenumber support for local address books. + + EBookBackendSqliteDB: Added e_book_backend_new_contact[s]() API + + EBookBackendFile: Don't overwrite UIDs on incomming/new + contacts. + + CamelIMAPXStore: Configure folder flags on folder creation. + + EBookBackendFile: Avoid lost data in contact modifications. + + store_synchronize_sync(): Only synchronize subscribed folders. + + Bugs fixed: bgo#651399, bgo#691126, bgo#692278. + + Updated translations. +- Drop upstream fixed patches: + + e-d-s-ldap-mutex-deadlock-fix.patch + + e-d-s-address-crash-on-cancel.patch + + e-d-s-store_synchronize_sync.patch + + e-d-s-schedule-higher-idle-priority-actions.patch + + e-d-s-use-G_PRIORITY_HIGH_IDLE.patch + +------------------------------------------------------------------- +Sat Feb 16 19:04:09 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.4: + + The legacy IMAP backend has been retired. Legacy IMAP accounts + will be converted to the newer "IMAP+" backend and their data + caches reset. + + IMAPX: + - Support non-virtual Junk/Trash folders. + - Ask server to handle "body-contains" searches. + - Add automatic IMAP to IMAPX account migration. + + ESourceRegistryServer: Add a "tweak-key-file" signal. + + Add OAuth2Support D-Bus interface. + + Merge ECalBackendFileStore into ECalBackendStore. + + Add ETimezoneCache interface. + + ECalBackend: Remove internal_get_timezone() method. + + CamelMimeFilterPgp: Ignore right side white spaces. + + Bugs fixed: bgo#665371, bgo#689124, bgo#690151, bgo#690158, + bgo#690177, bgo#691033, bgo#691466, bgo#691477. + + Updated translations. + +------------------------------------------------------------------- +Sat Feb 16 18:32:56 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.3: + + libedataserverui has been removed from Evolution-Data-Server + and merged back into Evolution, since Evolution is its only + consumer nowadays. + + The E-D-S unit test suite is functional again! + + Added ESourceBackendSummarySetup extension + + EBookBackendFile: Use the new ESourceBackendSummarySetup to + configure the summary + + Use version-based GLib/GDK/GTK+ warnings. + + Coverity scan cleanups. + + Do not generate a ChangeLog file from 'git log' + + Introduce evolution-user-prompter service + + IMAPX: Support the QUOTA extension (RFC 2087). + + Remove introspection of libecal. + + Workaround file description leak from + e_source_registry_authenticate_sync() + + Bugs fixed: bgo#202576, bgo#371469, bgo#512714, bgo#529743, + bgo#579315, bgo#671620, bgo#677378, bgo#680201, bgo#684175, + bgo#687670, bgo#688366, bgo#688479, bgo#688639, bgo#688660, + bgo#688795, bgo#688926. + + Updated translations. +- Drop libedataserverui* subpackages: the library is merged into + evolution. As this is a shared library, we do not add Obsoletes. +- Drop typelib-1_0-ECalendar-1_2 subpackage: A great deal of the + calendar API exposes data structures from libical. libical is not + a GObject library, and is therefore not introspectable. +- Drop e-d-s-fix-slow-composer-open.patch: no longer applicable. + +------------------------------------------------------------------- +Sat Feb 16 17:22:39 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.2.1: + + Make address books work again. + + EAuthenticationSession: Close prompt before storing password. + + IMAPX error handling improvements. + + Remove version number from ${privdatadir}. + + Remove erroneous version number from ${privlibdir}. + + Remove version number from ${privincludedir}. + + Add AllowAuthPromptAll() method to SourceManager interface. + + Reimplement EBook, ECal, et. al. using their EClient + counterparts. + + Google: allow writing X-GOOGLE-SYSTEM-GROUP-IDS. + + Local file backend modified to use sqlite db exclusively. + + gnome-online-accounts: Add an EDataFactory extension. + + Remove EBookBackendVCF. + + Bugs fixed: bgo#640594, bgo#674454, bgo#686727, bgo#680497, + bgo#686719, bgo#685986, bgo#686924, bgo#687100, bgo#685034, + bgo#681962, bgo#685090, bgo#687776, bgo#669082, bgo#687642, + bgo#687694, bgo#687865, bgo#687634, bgo#688146. + + Updated translations. +- Bump so_camel to 42 and so_edataserverui to 5, following + upstreams soname bumps (also in baselibs.conf). + +------------------------------------------------------------------- +Sat Feb 16 16:18:23 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.1: + + Remove e_data_book_view_ref/unref(). + + EBook: Reimplement "remove" functions. + + EGdbusBook: Remove the remove() method. + + Rename e_book_backend_start_book_view(). + + Rename e_book_backend_stop_book_view(). + + Rename e_book_backend_add_book_view(). + + Rename e_book_backend_remove_book_view(). + + Add e_book_backend_list_views(). + + Deprecate e_book_backend_foreach_view(). + + Remove e_data_book_register_gdbus_object(). + + Remove e_data_book_view_register_gdbus_object(). + + libedata-cal: Purge deprecated APIs. + + ECal: Reimplement "remove" functions. + + EGdbusCal: Remove the remove() method. + + ECalBackend: Prefer GList over GSList. + + Add e_cal_backend_list_views(). + + Deprecate e_cal_backend_foreach_view(). + + Remove e_data_cal_register_gdbus_object(). + + Remove e_data_cal_view_register_gdbus_object(). + + Don't migrate sources with empty attributes (Dan Vrátil) + + EGDataGoaAuthorizer: Use GHmac to sign the OAuth parameters. + + Drop oauth package requirement for GOA support. + + EGDataGoaAuthorizer: Prototype OAuth 2.0 support. + + online-accounts: Refresh mail account settings on startup. + + Add e_book_backend_sexp_text(). + + Deprecate e_source_extension_get_source(). + + Silence libsecret unstable API warnings. + + Rename 'online-accounts' module to 'gnome-online-accounts'. + + Change camel_junk_filter_classify() signature. + + evolution-source-viewer: Select next source after deleting. + + Bugs fixed: bgo#201807, bgo#268618, bgo#310978, bgo#549819, + bgo#641825, bgo#679914, bgo#681314, bgo#684655, bgo#685713, + bgo#686421 + + Updated translations. +- Replace libgnome-keyring-devel with pkgconfig(libsecret-unstable) + following upstreams port to libsecret. +- Drop pkgconfig(oauth) BuildRequires: no longer needed. +- Bump so_camel to 41, so_edata_book to 16 and so_edata_cal to 19, + following upstreams soname bumps (also in baselibs.conf). + ------------------------------------------------------------------- Fri Feb 15 12:41:30 UTC 2013 - dimstar@opensuse.org diff --git a/evolution-data-server.spec b/evolution-data-server.spec index e79d68c..e0c6c43 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -21,38 +21,30 @@ # Shared Library soNUMs, to make it easier for updates # When updating the sonums, do not forget to also update baselibs.conf -%define so_camel 40 -%define so_ebackend 5 +%define so_camel 43 +%define so_ebackend 6 %define so_ebook 14 +%define so_ebook_contacts 0 %define so_ecal 15 -%define so_edata_book 15 -%define so_edata_cal 18 +%define so_edata_book 17 +%define so_edata_cal 20 %define so_edataserver 17 -%define so_edataserverui 4 Name: evolution-data-server -%define _evo_version 3.6 -Version: 3.6.3 +%define _evo_version 3.8 +Version: 3.7.91 Release: 0 Summary: Evolution Data Server License: LGPL-2.1+ Group: Development/Libraries/GNOME Url: http://www.gnome.org -Source0: http://download.gnome.org/sources/evolution-data-server/3.6/%{name}-%{version}.tar.xz +Source0: http://download.gnome.org/sources/evolution-data-server/3.7/%{name}-%{version}.tar.xz Source99: baselibs.conf -# PATCH-FIX-UPSTREAM e-d-s-ldap-mutex-deadlock-fix.patch bgo#692278 badshah400@gmail.com -- Fix LDAP backend mutex deadlock on finalize; patch taken from upstream git -Patch0: e-d-s-ldap-mutex-deadlock-fix.patch -# PATCH-FIX-UPSTREAM e-d-s-address-crash-on-cancel.patch badshah400@gmail.com -- Fix invalid memory access during situations while cancelling some synchronous operations; patch taken from upstream git -Patch1: e-d-s-address-crash-on-cancel.patch -# PATCH-FIX-UPSTREAM e-d-s-fix-slow-composer-open.patch bgo#689476 badshah400@gmail.com -- Fix composer opening slowly because of leaks; patch taken from upstream git -Patch2: e-d-s-fix-slow-composer-open.patch -# PATCH-FIX-UPSTREAM e-d-s-store_synchronize_sync.patch badshah400@gmail.com -- Cleanups in store_synchronize_sync(); patch taken from upstream git -Patch3: e-d-s-store_synchronize_sync.patch -# PATCH-FIX-UPSTREAM e-d-s-schedule-higher-idle-priority-actions.patch bgo#683867 badshah400@gmail.com -- Schedule actions with higher idle priority; patch taken from upstream git -Patch4: e-d-s-schedule-higher-idle-priority-actions.patch -# PATCH-FIX-UPSTREAM e-d-s-use-G_PRIORITY_HIGH_IDLE.patch badshah400@gmail.com -- Use G_PRIORITY_HIGH_IDLE to beat gtk+ redraws; patch taken from upstream git -Patch5: e-d-s-use-G_PRIORITY_HIGH_IDLE.patch +# PATCH-FIX-UPSTREAM e-d-s-link-goa.patch bgo#695067 dimstar@opensuse.org -- Fix linking of gnome-online-accounts module +Patch0: e-d-s-link-goa.patch BuildRequires: db-devel +# Needed by patch0 +BuildRequires: gnome-common %if %USE_EVOLDAP BuildRequires: evoldap2-devel %else @@ -66,11 +58,10 @@ BuildRequires: gtk-doc BuildRequires: intltool BuildRequires: krb5-devel BuildRequires: libgdata-devel -BuildRequires: libgnome-keyring-devel BuildRequires: libgweather-devel >= 3.5.0 BuildRequires: libical-devel >= 0.43 BuildRequires: libidl-devel -BuildRequires: libsoup-devel >= 2.38.1 +BuildRequires: libsoup-devel >= 2.40.3 BuildRequires: mozilla-nss-devel BuildRequires: nss-shared-helper-devel BuildRequires: python-devel @@ -80,7 +71,7 @@ BuildRequires: vala BuildRequires: pkgconfig(gcr-base-3) >= 3.4 BuildRequires: pkgconfig(goa-1.0) >= 3.2 BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: pkgconfig(oauth) +BuildRequires: pkgconfig(libsecret-unstable) >= 0.5 %if %USE_EVOLDAP Requires: libevoldap-2_4-2 %endif @@ -95,6 +86,8 @@ Obsoletes: evolution-data-server-64bit %ifarch %ix86 ppc Obsoletes: evolution-data-server-32bit %endif +# typelib-1_0-ECalendar-1_2 was dropped with e-d-s 3.7.3 due to libical not being introspecatble. +Obsoletes: typelib-1_0-ECalendar-1_2 <= %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build %glib2_gsettings_schema_requires @@ -132,6 +125,16 @@ and calendar in the GNOME Desktop. This package contains a shared system library to access address books. +%package -n libebook-contacts-1_2-%{so_ebook_contacts} +Summary: Evolution Data Server - Address Book Client Library +Group: System/Libraries + +%description -n libebook-contacts-1_2-%{so_ebook_contacts} +Evolution Data Server provides a central location for your address book +and calendar in the GNOME Desktop. + +This package contains a shared system library to access address books. + %package -n libecal-1_2-%{so_ecal} Summary: Evolution Data Server - Calendar Client Library Group: System/Libraries @@ -142,20 +145,6 @@ and calendar in the GNOME Desktop. This package contains a shared system library to access calendars. -%if %{?with_introspection} - -%package -n typelib-1_0-ECalendar-1_2 -Summary: Evolution Data Server - Calendar Client Library, Introspection bindings -Group: System/Libraries - -%description -n typelib-1_0-ECalendar-1_2 -Evolution Data Server provides a central location for your address book -and calendar in the GNOME Desktop. - -This package provides the GObject Introspection bindings for the library -to access calendars. -%endif - %package -n libedata-book-1_2-%{so_edata_book} Summary: Evolution Data Server - Address Book Backend Library Group: System/Libraries @@ -176,6 +165,17 @@ Group: System/Libraries Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. +This package provides the GObject Introspection bindings for the library +for address book backends. + +%package -n typelib-1_0-EBookContacts-1_2 +Summary: Evolution Data Server - Address Book Backend Library, Introspection bindings +Group: System/Libraries + +%description -n typelib-1_0-EBookContacts-1_2 +Evolution Data Server provides a central location for your address book +and calendar in the GNOME Desktop. + This package provides the GObject Introspection bindings for the library for address book backends. %endif @@ -216,16 +216,6 @@ This package provides the GObject Introspection bindings for the libedataserver library. %endif -%package -n libedataserverui-3_0-%{so_edataserverui} -Summary: Evolution Data Server - Graphical Utilities Library -Group: System/Libraries - -%description -n libedataserverui-3_0-%{so_edataserverui} -Evolution Data Server provides a central location for your address book -and calendar in the GNOME Desktop. - -This package contains a shared system library. - %package devel Summary: Evolution Data Server - Development Files Group: Development/Libraries/GNOME @@ -233,14 +223,14 @@ Requires: evolution-data-server = %{?epoch:}%{version} Requires: libcamel-1_2-%{so_camel} = %{version} Requires: libebackend-1_2-%{so_ebackend} = %{version} Requires: libebook-1_2-%{so_ebook} = %{version} +Requires: libebook-contacts-1_2-%{so_ebook_contacts} = %{version} Requires: libecal-1_2-%{so_ecal} = %{version} Requires: libedata-book-1_2-%{so_edata_book} = %{version} Requires: libedata-cal-1_2-%{so_edata_cal} = %{version} Requires: libedataserver-1_2-%{so_edataserver} = %{version} -Requires: libedataserverui-3_0-%{so_edataserverui} = %{version} %if %{?with_introspection} Requires: typelib-1_0-EBook-1_2 = %{version} -Requires: typelib-1_0-ECalendar-1_2 = %{version} +Requires: typelib-1_0-EBookContacts-1_2 = %{version} Requires: typelib-1_0-EDataServer-1_2 = %{version} %endif %if %USE_EVOLDAP @@ -270,14 +260,11 @@ This package contains developer documentation. %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 translation-update-upstream %build +# Needed by patch0 +NOCONFIGURE=1 gnome-autogen.sh %{configure} \ --libexecdir=%{_libexecdir}/evolution-data-server \ %if %USE_EVOLDAP @@ -291,6 +278,7 @@ translation-update-upstream --enable-smime=yes \ --enable-nntp=yes \ --disable-static \ + --disable-uoa \ %if %{?with_introspection} --enable-vala-bindings \ --enable-introspection @@ -335,6 +323,10 @@ find %{buildroot} -name '*.la' -type f -delete -print %postun -n libebook-1_2-%{so_ebook} -p /sbin/ldconfig +%post -n libebook-contacts-1_2-%{so_ebook_contacts} -p /sbin/ldconfig + +%postun -n libebook-contacts-1_2-%{so_ebook_contacts} -p /sbin/ldconfig + %post -n libecal-1_2-%{so_ecal} -p /sbin/ldconfig %postun -n libecal-1_2-%{so_ecal} -p /sbin/ldconfig @@ -351,15 +343,10 @@ find %{buildroot} -name '*.la' -type f -delete -print %postun -n libedataserver-1_2-%{so_edataserver} -p /sbin/ldconfig -%post -n libedataserverui-3_0-%{so_edataserverui} -p /sbin/ldconfig - -%postun -n libedataserverui-3_0-%{so_edataserverui} -p /sbin/ldconfig - %files %defattr(-,root,root) %doc COPYING ChangeLog NEWS TODO -# ui/ subdir is used by libedataserverui -%{_datadir}/evolution-data-server-%{_evo_version}/ +%{_datadir}/evolution-data-server/ %{_datadir}/GConf/gsettings/evolution-data-server.convert %{_datadir}/GConf/gsettings/libedataserver.convert %{_datadir}/glib-2.0/schemas/org.gnome.Evolution.DefaultSources.gschema.xml @@ -387,17 +374,14 @@ find %{buildroot} -name '*.la' -type f -delete -print %defattr(-, root, root) %{_libdir}/libebook-1.2.so.%{so_ebook}* +%files -n libebook-contacts-1_2-%{so_ebook_contacts} +%defattr(-, root, root) +%{_libdir}/libebook-contacts-1.2.so.%{so_ebook_contacts}* + %files -n libecal-1_2-%{so_ecal} %defattr(-, root, root) %{_libdir}/libecal-1.2.so.%{so_ecal}* -%if %{?with_introspection} - -%files -n typelib-1_0-ECalendar-1_2 -%defattr(-, root, root) -%{_libdir}/girepository-1.0/ECalendar-1.2.typelib -%endif - %files -n libedata-book-1_2-%{so_edata_book} %defattr(-, root, root) %{_libdir}/libedata-book-1.2.so.%{so_edata_book}* @@ -407,6 +391,10 @@ find %{buildroot} -name '*.la' -type f -delete -print %files -n typelib-1_0-EBook-1_2 %defattr(-, root, root) %{_libdir}/girepository-1.0/EBook-1.2.typelib + +%files -n typelib-1_0-EBookContacts-1_2 +%defattr(-, root, root) +%{_libdir}/girepository-1.0/EBookContacts-1.2.typelib %endif %files -n libedata-cal-1_2-%{so_edata_cal} @@ -424,13 +412,9 @@ find %{buildroot} -name '*.la' -type f -delete -print %{_libdir}/girepository-1.0/EDataServer-1.2.typelib %endif -%files -n libedataserverui-3_0-%{so_edataserverui} -%defattr(-, root, root) -%{_libdir}/libedataserverui-3.0.so.%{so_edataserverui}* - %files devel %defattr(-, root, root) -%{_includedir}/evolution-data-server-%{_evo_version}/ +%{_includedir}/evolution-data-server/ %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %if %{?with_introspection} From 0ae42febae5d4baaa7fbd54a1f80d3a471ab9243efb749f060e8cbeb7a554f12 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 20 Mar 2013 18:10:06 +0000 Subject: [PATCH 2/3] Accepting request 159696 from home:dimstar:branches:GNOME:Factory Update to 3.7.92 OBS-URL: https://build.opensuse.org/request/show/159696 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/evolution-data-server?expand=0&rev=155 --- e-d-s-link-goa.patch | 12 ------------ evolution-data-server-3.7.91.tar.xz | 3 --- evolution-data-server-3.7.92.tar.xz | 3 +++ evolution-data-server.changes | 16 ++++++++++++++++ evolution-data-server.spec | 9 +-------- 5 files changed, 20 insertions(+), 23 deletions(-) delete mode 100644 e-d-s-link-goa.patch delete mode 100644 evolution-data-server-3.7.91.tar.xz create mode 100644 evolution-data-server-3.7.92.tar.xz diff --git a/e-d-s-link-goa.patch b/e-d-s-link-goa.patch deleted file mode 100644 index 84b1d99..0000000 --- a/e-d-s-link-goa.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/modules/gnome-online-accounts/Makefile.am b/modules/gnome-online-accounts/Makefile.am -index 0960e31..30ace58 100644 ---- a/modules/gnome-online-accounts/Makefile.am -+++ b/modules/gnome-online-accounts/Makefile.am -@@ -28,6 +28,7 @@ module_gnome_online_accounts_la_SOURCES = \ - module_gnome_online_accounts_la_LIBADD = \ - $(top_builddir)/libebackend/libebackend-1.2.la \ - $(top_builddir)/libedataserver/libedataserver-1.2.la \ -+ $(top_builddir)/camel/libcamel-1.2.la \ - $(E_BACKEND_LIBS) \ - $(CAMEL_LIBS) \ - $(SOUP_LIBS) \ diff --git a/evolution-data-server-3.7.91.tar.xz b/evolution-data-server-3.7.91.tar.xz deleted file mode 100644 index b4842e2..0000000 --- a/evolution-data-server-3.7.91.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a27a081a141e737278d19c5edc449c77e1d54eb780010b04db7472ec2f4f3893 -size 3901508 diff --git a/evolution-data-server-3.7.92.tar.xz b/evolution-data-server-3.7.92.tar.xz new file mode 100644 index 0000000..82fda88 --- /dev/null +++ b/evolution-data-server-3.7.92.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0054e858928e333a880fa632ab9400061f5939d906584c678c086e471cad03db +size 3895568 diff --git a/evolution-data-server.changes b/evolution-data-server.changes index 6978a12..bd39bc5 100644 --- a/evolution-data-server.changes +++ b/evolution-data-server.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Sun Mar 17 13:24:15 UTC 2013 - dimstar@opensuse.org + +- Update to version 3.7.92: + + Test suite improvements. + + EBookBackendSqliteDB improvements. + + EBookClient introspection fixes. + + Fix a memory leak around imapx_untagged_vanished(). + + Correct names for im_jabber_work variables. + + Bugs fixed: bgo#215428, bgo#350323, bgo#352266, bgo#690433, + bgo#690552, bgo#695308, bgo#695539, bgo#695960. + + Updated translations. +- Drop e-d-s-link-goa.patch: fixed upstream. +- Drop gnome-common BuildRequires and call to gnome-autogen.sh, as + we no longer carry patches touching the build system. + ------------------------------------------------------------------- Sun Mar 3 15:31:47 UTC 2013 - dimstar@opensuse.org diff --git a/evolution-data-server.spec b/evolution-data-server.spec index e0c6c43..f4c61b7 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -32,7 +32,7 @@ Name: evolution-data-server %define _evo_version 3.8 -Version: 3.7.91 +Version: 3.7.92 Release: 0 Summary: Evolution Data Server License: LGPL-2.1+ @@ -40,11 +40,7 @@ Group: Development/Libraries/GNOME Url: http://www.gnome.org Source0: http://download.gnome.org/sources/evolution-data-server/3.7/%{name}-%{version}.tar.xz Source99: baselibs.conf -# PATCH-FIX-UPSTREAM e-d-s-link-goa.patch bgo#695067 dimstar@opensuse.org -- Fix linking of gnome-online-accounts module -Patch0: e-d-s-link-goa.patch BuildRequires: db-devel -# Needed by patch0 -BuildRequires: gnome-common %if %USE_EVOLDAP BuildRequires: evoldap2-devel %else @@ -259,12 +255,9 @@ This package contains developer documentation. %lang_package %prep %setup -q -%patch0 -p1 translation-update-upstream %build -# Needed by patch0 -NOCONFIGURE=1 gnome-autogen.sh %{configure} \ --libexecdir=%{_libexecdir}/evolution-data-server \ %if %USE_EVOLDAP From a7678835667272966ce6d20d58fa3e08f91613bb7433dec546e4e291b408736a Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 24 Mar 2013 12:51:00 +0000 Subject: [PATCH 3/3] Accepting request 160734 from home:Zaitor:branches:GNOME:Factory Update to 3.8.0 OBS-URL: https://build.opensuse.org/request/show/160734 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/evolution-data-server?expand=0&rev=156 --- evolution-data-server-3.7.92.tar.xz | 3 --- evolution-data-server-3.8.0.tar.xz | 3 +++ evolution-data-server.changes | 7 +++++++ evolution-data-server.spec | 4 ++-- 4 files changed, 12 insertions(+), 5 deletions(-) delete mode 100644 evolution-data-server-3.7.92.tar.xz create mode 100644 evolution-data-server-3.8.0.tar.xz diff --git a/evolution-data-server-3.7.92.tar.xz b/evolution-data-server-3.7.92.tar.xz deleted file mode 100644 index 82fda88..0000000 --- a/evolution-data-server-3.7.92.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0054e858928e333a880fa632ab9400061f5939d906584c678c086e471cad03db -size 3895568 diff --git a/evolution-data-server-3.8.0.tar.xz b/evolution-data-server-3.8.0.tar.xz new file mode 100644 index 0000000..ae54177 --- /dev/null +++ b/evolution-data-server-3.8.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fff7dca02abc52caa62ddbd93a9135c15da3f21c36c25774f3399fb7a6c1d41e +size 3898836 diff --git a/evolution-data-server.changes b/evolution-data-server.changes index bd39bc5..13483cf 100644 --- a/evolution-data-server.changes +++ b/evolution-data-server.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sun Mar 24 07:01:13 UTC 2013 - zaitor@opensuse.org + +- Update to version 3.8.0: + + Miscellaneous Changes: Clean testing work directory. + + Updated translations. + ------------------------------------------------------------------- Sun Mar 17 13:24:15 UTC 2013 - dimstar@opensuse.org diff --git a/evolution-data-server.spec b/evolution-data-server.spec index f4c61b7..a437762 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -32,13 +32,13 @@ Name: evolution-data-server %define _evo_version 3.8 -Version: 3.7.92 +Version: 3.8.0 Release: 0 Summary: Evolution Data Server License: LGPL-2.1+ Group: Development/Libraries/GNOME Url: http://www.gnome.org -Source0: http://download.gnome.org/sources/evolution-data-server/3.7/%{name}-%{version}.tar.xz +Source0: http://download.gnome.org/sources/evolution-data-server/3.8/%{name}-%{version}.tar.xz Source99: baselibs.conf BuildRequires: db-devel %if %USE_EVOLDAP