From b65ea8b08a7abc5dcb3baa3a547b724c0134529a Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Jul 30 2014 06:14:20 +0000 Subject: Update to 3.13.4; Introduce tests subpackage with installed tests --- diff --git a/.gitignore b/.gitignore index 1847973..cf59601 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,4 @@ evolution-data-server-2.31.5.tar.bz2 /evolution-data-server-3.12.2.tar.xz /evolution-data-server-3.12.3.tar.xz /evolution-data-server-3.12.4.tar.xz +/evolution-data-server-3.13.4.tar.xz diff --git a/evolution-data-server-3.12.4-imapx-job-stuck-with-idle.patch b/evolution-data-server-3.12.4-imapx-job-stuck-with-idle.patch deleted file mode 100644 index 7382a3b..0000000 --- a/evolution-data-server-3.12.4-imapx-job-stuck-with-idle.patch +++ /dev/null @@ -1,252 +0,0 @@ -diff -up evolution-data-server-3.12.4/camel/providers/imapx/camel-imapx-server.c.imapx-job-stuck-with-idle evolution-data-server-3.12.4/camel/providers/imapx/camel-imapx-server.c ---- evolution-data-server-3.12.4/camel/providers/imapx/camel-imapx-server.c.imapx-job-stuck-with-idle 2014-07-13 20:22:01.000000000 +0200 -+++ evolution-data-server-3.12.4/camel/providers/imapx/camel-imapx-server.c 2014-07-18 11:59:00.797448928 +0200 -@@ -320,6 +320,7 @@ typedef enum { - IMAPX_IDLE_STARTED, /* IDLE continuation received; IDLE active */ - IMAPX_IDLE_CANCEL, /* Cancelled from ISSUED state; need to send - DONE as soon as we receive continuation */ -+ IMAPX_IDLE_WAIT_DONE /* DONE was issued, waiting for a confirmation response */ - } CamelIMAPXIdleState; - - #define IMAPX_IDLE_DWELL_TIME 2 /* Number of seconds to remain in PENDING -@@ -390,7 +391,7 @@ struct _CamelIMAPXServerPrivate { - gchar inbox_separator; - - /* IDLE support */ -- GMutex idle_lock; -+ GRecMutex idle_lock; - GThread *idle_thread; - GMainLoop *idle_main_loop; - GMainContext *idle_main_context; -@@ -1472,7 +1473,7 @@ imapx_command_start_next (CamelIMAPXServ - "waiting for idle to stop \n"); - /* if there are more pending commands, - * then they should be processed too */ -- break; -+ return; - - case IMAPX_IDLE_STOP_ERROR: - return; -@@ -3054,25 +3055,27 @@ imapx_continuation (CamelIMAPXServer *is - return FALSE; - - c (is->tagprefix, "Got continuation response for IDLE \n"); -- g_mutex_lock (&is->priv->idle_lock); -+ g_rec_mutex_lock (&is->priv->idle_lock); - /* We might have actually sent the DONE already! */ -- if (is->priv->idle_state == IMAPX_IDLE_ISSUED) -+ if (is->priv->idle_state == IMAPX_IDLE_ISSUED) { - is->priv->idle_state = IMAPX_IDLE_STARTED; -- else if (is->priv->idle_state == IMAPX_IDLE_CANCEL) { -+ } else if (is->priv->idle_state == IMAPX_IDLE_CANCEL) { - /* IDLE got cancelled after we sent the command, while - * we were waiting for this continuation. Send DONE - * immediately. */ - if (!imapx_command_idle_stop (is, error)) { -- g_mutex_unlock (&is->priv->idle_lock); -+ g_rec_mutex_unlock (&is->priv->idle_lock); - return FALSE; - } -- is->priv->idle_state = IMAPX_IDLE_OFF; -+ is->priv->idle_state = IMAPX_IDLE_WAIT_DONE; -+ } else if (is->priv->idle_state == IMAPX_IDLE_WAIT_DONE) { -+ /* Do nothing, just wait */ - } else { - c ( - is->tagprefix, "idle starts in wrong state %d\n", - is->priv->idle_state); - } -- g_mutex_unlock (&is->priv->idle_lock); -+ g_rec_mutex_unlock (&is->priv->idle_lock); - - QUEUE_LOCK (is); - is->literal = NULL; -@@ -3548,9 +3551,9 @@ imapx_command_idle_done (CamelIMAPXServe - camel_imapx_job_take_error (job, local_error); - } - -- g_mutex_lock (&is->priv->idle_lock); -+ g_rec_mutex_lock (&is->priv->idle_lock); - is->priv->idle_state = IMAPX_IDLE_OFF; -- g_mutex_unlock (&is->priv->idle_lock); -+ g_rec_mutex_unlock (&is->priv->idle_lock); - - imapx_unregister_job (is, job); - } -@@ -3579,29 +3582,23 @@ imapx_job_idle_start (CamelIMAPXJob *job - cp = g_queue_peek_head (&ic->parts); - cp->type |= CAMEL_IMAPX_COMMAND_CONTINUATION; - -- g_mutex_lock (&is->priv->idle_lock); -+ QUEUE_LOCK (is); -+ g_rec_mutex_lock (&is->priv->idle_lock); - /* Don't issue it if the idle was cancelled already */ - if (is->priv->idle_state == IMAPX_IDLE_PENDING) { - is->priv->idle_state = IMAPX_IDLE_ISSUED; -- g_mutex_unlock (&is->priv->idle_lock); - -- QUEUE_LOCK (is); -- /* It can be that another thread started a command between -- the two locks above had been interchanged, thus also test -- whether the active command queue is empty, before starting -- the IDLE command. */ - if (camel_imapx_command_queue_is_empty (is->active)) { - imapx_command_start (is, ic); - } else { - c (is->tagprefix, "finally cancelling IDLE, other command was quicker\n"); -+ is->priv->idle_state = IMAPX_IDLE_OFF; - imapx_unregister_job (is, job); - } - } else { -- g_mutex_unlock (&is->priv->idle_lock); -- -- QUEUE_LOCK (is); - imapx_unregister_job (is, job); - } -+ g_rec_mutex_unlock (&is->priv->idle_lock); - QUEUE_UNLOCK (is); - - camel_imapx_command_unref (ic); -@@ -3690,13 +3687,16 @@ imapx_call_idle (gpointer data) - goto exit; - - /* XXX Rename to 'pending_lock'? */ -- g_mutex_lock (&is->priv->idle_lock); -+ g_rec_mutex_lock (&is->priv->idle_lock); - g_source_unref (is->priv->idle_pending); - is->priv->idle_pending = NULL; -- g_mutex_unlock (&is->priv->idle_lock); - -- if (is->priv->idle_state != IMAPX_IDLE_PENDING) -+ if (is->priv->idle_state != IMAPX_IDLE_PENDING) { -+ g_rec_mutex_unlock (&is->priv->idle_lock); - goto exit; -+ } -+ -+ g_rec_mutex_unlock (&is->priv->idle_lock); - - g_mutex_lock (&is->priv->select_lock); - mailbox = g_weak_ref_get (&is->priv->select_mailbox); -@@ -3765,7 +3765,7 @@ imapx_idle_thread (gpointer data) - * regressions. - */ - -- g_mutex_lock (&is->priv->idle_lock); -+ g_rec_mutex_lock (&is->priv->idle_lock); - - g_warn_if_fail (is->priv->idle_pending == NULL); - pending = g_timeout_source_new_seconds (IMAPX_IDLE_DWELL_TIME); -@@ -3778,7 +3778,7 @@ imapx_idle_thread (gpointer data) - is->priv->idle_pending = g_source_ref (pending); - g_source_unref (pending); - -- g_mutex_unlock (&is->priv->idle_lock); -+ g_rec_mutex_unlock (&is->priv->idle_lock); - - g_main_loop_run (is->priv->idle_main_loop); - -@@ -3798,36 +3798,40 @@ imapx_stop_idle (CamelIMAPXServer *is, - - time (&now); - -- g_mutex_lock (&is->priv->idle_lock); -+ g_rec_mutex_lock (&is->priv->idle_lock); - - switch (is->priv->idle_state) { - case IMAPX_IDLE_ISSUED: - is->priv->idle_state = IMAPX_IDLE_CANCEL; -- /* fall through */ -+ result = IMAPX_IDLE_STOP_SUCCESS; -+ break; - - case IMAPX_IDLE_CANCEL: -+ case IMAPX_IDLE_WAIT_DONE: - result = IMAPX_IDLE_STOP_SUCCESS; - break; - - case IMAPX_IDLE_STARTED: - if (imapx_command_idle_stop (is, error)) { - result = IMAPX_IDLE_STOP_SUCCESS; -+ is->priv->idle_state = IMAPX_IDLE_WAIT_DONE; - } else { - result = IMAPX_IDLE_STOP_ERROR; -+ is->priv->idle_state = IMAPX_IDLE_OFF; - goto exit; - } -- /* fall through */ -+ break; - - case IMAPX_IDLE_PENDING: - is->priv->idle_state = IMAPX_IDLE_OFF; -- /* fall through */ -+ break; - - case IMAPX_IDLE_OFF: - break; - } - - exit: -- g_mutex_unlock (&is->priv->idle_lock); -+ g_rec_mutex_unlock (&is->priv->idle_lock); - - return result; - } -@@ -3838,9 +3842,14 @@ imapx_start_idle (CamelIMAPXServer *is) - if (camel_application_is_exiting) - return; - -- g_mutex_lock (&is->priv->idle_lock); -+ g_rec_mutex_lock (&is->priv->idle_lock); -+ -+ if (is->priv->idle_state != IMAPX_IDLE_OFF) { -+ g_warn_if_fail (is->priv->idle_state == IMAPX_IDLE_OFF); -+ g_rec_mutex_unlock (&is->priv->idle_lock); -+ return; -+ } - -- g_return_if_fail (is->priv->idle_state == IMAPX_IDLE_OFF); - is->priv->idle_state = IMAPX_IDLE_PENDING; - - if (is->priv->idle_thread == NULL) { -@@ -3861,7 +3870,7 @@ imapx_start_idle (CamelIMAPXServer *is) - g_source_unref (pending); - } - -- g_mutex_unlock (&is->priv->idle_lock); -+ g_rec_mutex_unlock (&is->priv->idle_lock); - } - - static gboolean -@@ -3869,12 +3878,12 @@ imapx_in_idle (CamelIMAPXServer *is) - { - gboolean in_idle = FALSE; - -- g_mutex_lock (&is->priv->idle_lock); -+ g_rec_mutex_lock (&is->priv->idle_lock); - - if (is->priv->idle_thread != NULL) - in_idle = (is->priv->idle_state > IMAPX_IDLE_OFF); - -- g_mutex_unlock (&is->priv->idle_lock); -+ g_rec_mutex_unlock (&is->priv->idle_lock); - - return in_idle; - } -@@ -7809,7 +7818,7 @@ imapx_server_finalize (GObject *object) - g_hash_table_destroy (is->priv->known_alerts); - g_mutex_clear (&is->priv->known_alerts_lock); - -- g_mutex_clear (&is->priv->idle_lock); -+ g_rec_mutex_clear (&is->priv->idle_lock); - g_main_loop_unref (is->priv->idle_main_loop); - g_main_context_unref (is->priv->idle_main_context); - -@@ -7993,7 +8002,7 @@ camel_imapx_server_init (CamelIMAPXServe - - main_context = g_main_context_new (); - -- g_mutex_init (&is->priv->idle_lock); -+ g_rec_mutex_init (&is->priv->idle_lock); - is->priv->idle_main_loop = g_main_loop_new (main_context, FALSE); - is->priv->idle_main_context = g_main_context_ref (main_context); - diff --git a/evolution-data-server.spec b/evolution-data-server.spec index 36eb4e3..aa544a9 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -21,7 +21,7 @@ %define sqlite_version 3.5 %define nss_version 3.14 -%define eds_base_version 3.12 +%define eds_base_version 3.14 %define camel_provider_dir %{_libdir}/evolution-data-server/camel-providers %define ebook_backends_dir %{_libdir}/evolution-data-server/addressbook-backends @@ -31,14 +31,14 @@ ### Abstract ### Name: evolution-data-server -Version: 3.12.4 -Release: 4%{?dist} +Version: 3.13.4 +Release: 1%{?dist} Group: System Environment/Libraries Summary: Backend data server for Evolution License: LGPLv2+ URL: https://wiki.gnome.org/Apps/Evolution BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -Source: http://download.gnome.org/sources/%{name}/3.12/%{name}-%{version}.tar.xz +Source: http://download.gnome.org/sources/%{name}/3.13/%{name}-%{version}.tar.xz Provides: evolution-webcal = %{version} Obsoletes: evolution-webcal < 2.24.0 @@ -48,9 +48,6 @@ Obsoletes: evolution-webcal < 2.24.0 # RH bug #243296 Patch01: evolution-data-server-1.11.5-fix-64bit-acinclude.patch -# GNOME bug #733081 -Patch02: evolution-data-server-3.12.4-imapx-job-stuck-with-idle.patch - ### Dependencies ### Requires: dconf @@ -108,7 +105,7 @@ by other packages. %package devel Summary: Development files for building against %{name} Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pkgconfig(goa-1.0) >= %{goa_version} Requires: pkgconfig(libgdata) >= %{libgdata_version} @@ -134,11 +131,19 @@ This package contains developer documentation for %{name}. # %{with_docs} %endif +%package tests +Summary: Tests for the %{name} package +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tests +The %{name}-tests package contains tests that can be used to verify +the functionality of the installed %{name} package. + %prep %setup -q %patch01 -p1 -b .fix-64bit-acinclude -%patch02 -p1 -b .imapx-job-stuck-with-idle %build %if %{ldap_support} @@ -220,6 +225,7 @@ autoconf --enable-dot-locking=no \ --enable-introspection=yes \ --enable-vala-bindings \ + --enable-installed-tests \ %ldap_flags %krb5_flags %nntp_flags %ssl_flags \ %largefile_flags %gtkdoc_flags export tagname=CC @@ -282,7 +288,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : %{_libexecdir}/camel-index-control-1.2 %{_libexecdir}/camel-lock-helper-1.2 %{_libexecdir}/evolution-addressbook-factory +%{_libexecdir}/evolution-addressbook-factory-subprocess %{_libexecdir}/evolution-calendar-factory +%{_libexecdir}/evolution-calendar-factory-subprocess %{_libexecdir}/evolution-scan-gconf-tree-xml %{_libexecdir}/evolution-source-registry %{_libexecdir}/evolution-user-prompter @@ -385,7 +393,18 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : %endif +%files tests +%{_libdir}/libetestserverutils.so +%{_libdir}/libetestserverutils.so.* +%{_libexecdir}/%{name}/installed-tests +%{_datadir}/installed-tests + %changelog +* Wed Jul 30 2014 Milan Crha - 3.13.4-1 +- Update to 3.13.4 +- Introduce tests subpackage with installed tests +- Remove patch for GNOME bug 733081 (fixed upstream) + * Tue Jul 22 2014 Kalev Lember - 3.12.4-4 - Rebuilt for gobject-introspection 1.41.4 diff --git a/sources b/sources index 9e2e652..b186749 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9097a93b2a27ed0a795adb8acd145187 evolution-data-server-3.12.4.tar.xz +f3d9fc3911bce77183499c4e7d59bc04 evolution-data-server-3.13.4.tar.xz