mirror of
https://abf.rosa.ru/djam/evolution-data-server.git
synced 2025-02-23 15:22:48 +00:00
update to 3.8.5
This commit is contained in:
parent
248707c3d0
commit
78329a816d
5 changed files with 196 additions and 1 deletions
1
.abf.yml
1
.abf.yml
|
@ -5,3 +5,4 @@ sources:
|
||||||
evolution-data-server-3.8.2.tar.xz: d8b6d2f3d65613a9c62e19cec5a53249e862709c
|
evolution-data-server-3.8.2.tar.xz: d8b6d2f3d65613a9c62e19cec5a53249e862709c
|
||||||
evolution-data-server-3.8.3.tar.xz: 3bcd70d70b6901c2f3737bee5a96678245c9d996
|
evolution-data-server-3.8.3.tar.xz: 3bcd70d70b6901c2f3737bee5a96678245c9d996
|
||||||
evolution-data-server-3.8.4.tar.xz: 17ca14815197084696c96eddd14cc599925ba9ca
|
evolution-data-server-3.8.4.tar.xz: 17ca14815197084696c96eddd14cc599925ba9ca
|
||||||
|
evolution-data-server-3.8.5.tar.xz: 8b720f6bdc01ec0ba22c6f82e25c222b9f89d6fa
|
||||||
|
|
12
evolution-data-server-3.8.5-cert-viewer-crash.patch
Normal file
12
evolution-data-server-3.8.5-cert-viewer-crash.patch
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up evolution-data-server-3.8.5/modules/trust-prompt/certificate-viewer.c.cert-viewer-crash evolution-data-server-3.8.5/modules/trust-prompt/certificate-viewer.c
|
||||||
|
--- evolution-data-server-3.8.5/modules/trust-prompt/certificate-viewer.c.cert-viewer-crash 2013-07-23 13:57:38.000000000 +0200
|
||||||
|
+++ evolution-data-server-3.8.5/modules/trust-prompt/certificate-viewer.c 2013-08-12 09:14:19.814379827 +0200
|
||||||
|
@@ -538,7 +538,7 @@ get_window_title (CERTCertificate *cert)
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
- return cert->subjectName;
|
||||||
|
+ return g_strdup (cert->subjectName);
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *
|
156
evolution-data-server-3.8.5-imapx-summary-vanish.patch
Normal file
156
evolution-data-server-3.8.5-imapx-summary-vanish.patch
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
diff -up evolution-data-server-3.8.5/camel/camel-imapx-command.c.imapx-summary-vanish evolution-data-server-3.8.5/camel/camel-imapx-command.c
|
||||||
|
--- evolution-data-server-3.8.5/camel/camel-imapx-command.c.imapx-summary-vanish 2013-08-02 16:57:28.000000000 +0200
|
||||||
|
+++ evolution-data-server-3.8.5/camel/camel-imapx-command.c 2013-10-09 12:49:22.007984356 +0200
|
||||||
|
@@ -42,6 +42,9 @@ struct _CamelIMAPXRealCommand {
|
||||||
|
/* For building the part. */
|
||||||
|
GString *buffer;
|
||||||
|
|
||||||
|
+ /* For network/parse errors. */
|
||||||
|
+ GError *error;
|
||||||
|
+
|
||||||
|
/* Used for running some commands synchronously. */
|
||||||
|
GCond done_sync_cond;
|
||||||
|
GMutex done_sync_mutex;
|
||||||
|
@@ -141,6 +144,8 @@ camel_imapx_command_unref (CamelIMAPXCom
|
||||||
|
|
||||||
|
g_string_free (real_ic->buffer, TRUE);
|
||||||
|
|
||||||
|
+ g_clear_error (&real_ic->error);
|
||||||
|
+
|
||||||
|
g_cond_clear (&real_ic->done_sync_cond);
|
||||||
|
g_mutex_clear (&real_ic->done_sync_mutex);
|
||||||
|
|
||||||
|
@@ -577,12 +582,50 @@ camel_imapx_command_done (CamelIMAPXComm
|
||||||
|
g_mutex_unlock (&real_ic->done_sync_mutex);
|
||||||
|
}
|
||||||
|
|
||||||
|
+/**
|
||||||
|
+ * camel_imapx_command_failed:
|
||||||
|
+ * @ic: a #CamelIMAPXCommand
|
||||||
|
+ * @error: the error which caused the failure
|
||||||
|
+ *
|
||||||
|
+ * Copies @error to be returned in camel_imapx_command_set_error_if_failed().
|
||||||
|
+ * Call this function if a networking or parsing error occurred to force all
|
||||||
|
+ * active IMAP commands to abort processing.
|
||||||
|
+ *
|
||||||
|
+ * Since: 3.10
|
||||||
|
+ **/
|
||||||
|
+void
|
||||||
|
+camel_imapx_command_failed (CamelIMAPXCommand *ic,
|
||||||
|
+ const GError *error)
|
||||||
|
+{
|
||||||
|
+ CamelIMAPXRealCommand *real_ic;
|
||||||
|
+
|
||||||
|
+ g_return_if_fail (CAMEL_IS_IMAPX_COMMAND (ic));
|
||||||
|
+ g_return_if_fail (error != NULL);
|
||||||
|
+
|
||||||
|
+ real_ic = (CamelIMAPXRealCommand *) ic;
|
||||||
|
+ g_return_if_fail (real_ic->error == NULL);
|
||||||
|
+
|
||||||
|
+ real_ic->error = g_error_copy (error);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
gboolean
|
||||||
|
camel_imapx_command_set_error_if_failed (CamelIMAPXCommand *ic,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
+ CamelIMAPXRealCommand *real_ic;
|
||||||
|
+
|
||||||
|
g_return_val_if_fail (CAMEL_IS_IMAPX_COMMAND (ic), FALSE);
|
||||||
|
|
||||||
|
+ real_ic = (CamelIMAPXRealCommand *) ic;
|
||||||
|
+
|
||||||
|
+ /* Check for a networking or parsing error. */
|
||||||
|
+ if (real_ic->error != NULL) {
|
||||||
|
+ g_propagate_error (error, real_ic->error);
|
||||||
|
+ real_ic->error = NULL;
|
||||||
|
+ return TRUE;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* Check if the IMAP server rejected the command. */
|
||||||
|
if (ic->status != NULL && ic->status->result != IMAPX_OK) {
|
||||||
|
|
||||||
|
/* FIXME Map IMAP response codes to more
|
||||||
|
diff -up evolution-data-server-3.8.5/camel/camel-imapx-command.h.imapx-summary-vanish evolution-data-server-3.8.5/camel/camel-imapx-command.h
|
||||||
|
--- evolution-data-server-3.8.5/camel/camel-imapx-command.h.imapx-summary-vanish 2013-07-23 13:57:42.000000000 +0200
|
||||||
|
+++ evolution-data-server-3.8.5/camel/camel-imapx-command.h 2013-10-09 12:49:22.008984356 +0200
|
||||||
|
@@ -120,6 +120,8 @@ void camel_imapx_command_add_part (Came
|
||||||
|
void camel_imapx_command_close (CamelIMAPXCommand *ic);
|
||||||
|
void camel_imapx_command_wait (CamelIMAPXCommand *ic);
|
||||||
|
void camel_imapx_command_done (CamelIMAPXCommand *ic);
|
||||||
|
+void camel_imapx_command_failed (CamelIMAPXCommand *ic,
|
||||||
|
+ const GError *error);
|
||||||
|
gboolean camel_imapx_command_set_error_if_failed
|
||||||
|
(CamelIMAPXCommand *ic,
|
||||||
|
GError **error);
|
||||||
|
diff -up evolution-data-server-3.8.5/camel/camel-imapx-server.c.imapx-summary-vanish evolution-data-server-3.8.5/camel/camel-imapx-server.c
|
||||||
|
--- evolution-data-server-3.8.5/camel/camel-imapx-server.c.imapx-summary-vanish 2013-07-23 13:57:58.000000000 +0200
|
||||||
|
+++ evolution-data-server-3.8.5/camel/camel-imapx-server.c 2013-10-09 12:49:22.011984355 +0200
|
||||||
|
@@ -6795,10 +6795,9 @@ imapx_job_sync_changes_matches (CamelIMA
|
||||||
|
return camel_imapx_job_has_folder (job, folder);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* we cancel all the commands and their jobs, so associated jobs will be notified */
|
||||||
|
static void
|
||||||
|
-cancel_all_jobs (CamelIMAPXServer *is,
|
||||||
|
- GError *error)
|
||||||
|
+imapx_abort_all_commands (CamelIMAPXServer *is,
|
||||||
|
+ const GError *error)
|
||||||
|
{
|
||||||
|
CamelIMAPXCommandQueue *queue;
|
||||||
|
GList *head, *link;
|
||||||
|
@@ -6819,7 +6818,6 @@ cancel_all_jobs (CamelIMAPXServer *is,
|
||||||
|
|
||||||
|
for (link = head; link != NULL; link = g_list_next (link)) {
|
||||||
|
CamelIMAPXCommand *ic = link->data;
|
||||||
|
- CamelIMAPXJob *job;
|
||||||
|
|
||||||
|
/* Sanity check the CamelIMAPXCommand before proceeding.
|
||||||
|
* XXX We are actually getting reports of crashes here...
|
||||||
|
@@ -6827,17 +6825,15 @@ cancel_all_jobs (CamelIMAPXServer *is,
|
||||||
|
if (ic == NULL)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
- /* Similarly with the CamelIMAPXJob contained within. */
|
||||||
|
- job = camel_imapx_command_get_job (ic);
|
||||||
|
- if (!CAMEL_IS_IMAPX_JOB (job))
|
||||||
|
- continue;
|
||||||
|
-
|
||||||
|
- camel_imapx_job_cancel (job);
|
||||||
|
-
|
||||||
|
- /* Send a NULL GError since we already cancelled
|
||||||
|
- * the job and we're not interested in individual
|
||||||
|
- * command errors. */
|
||||||
|
- ic->complete (is, ic, camel_imapx_job_get_cancellable (job), NULL);
|
||||||
|
+ /* Insert an error into the CamelIMAPXCommand to be
|
||||||
|
+ * propagated when the completion callback function
|
||||||
|
+ * calls camel_imapx_command_set_error_if_failed(). */
|
||||||
|
+ camel_imapx_command_failed (ic, error);
|
||||||
|
+
|
||||||
|
+ /* Invoke the completion callback function so it can
|
||||||
|
+ * perform any cleanup processing and unregister its
|
||||||
|
+ * CamelIMAPXJob. */
|
||||||
|
+ ic->complete (is, ic, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
camel_imapx_command_queue_free (queue);
|
||||||
|
@@ -6963,7 +6959,7 @@ imapx_parser_thread (gpointer d)
|
||||||
|
is->state = IMAPX_SHUTDOWN;
|
||||||
|
QUEUE_UNLOCK (is);
|
||||||
|
|
||||||
|
- cancel_all_jobs (is, local_error);
|
||||||
|
+ imapx_abort_all_commands (is, local_error);
|
||||||
|
|
||||||
|
g_clear_error (&local_error);
|
||||||
|
|
||||||
|
diff -up evolution-data-server-3.8.5/docs/reference/camel/camel-sections.txt.imapx-summary-vanish evolution-data-server-3.8.5/docs/reference/camel/camel-sections.txt
|
||||||
|
--- evolution-data-server-3.8.5/docs/reference/camel/camel-sections.txt.imapx-summary-vanish 2013-08-11 13:26:25.000000000 +0200
|
||||||
|
+++ evolution-data-server-3.8.5/docs/reference/camel/camel-sections.txt 2013-10-09 12:49:22.012984355 +0200
|
||||||
|
@@ -754,6 +754,7 @@ camel_imapx_command_add_part
|
||||||
|
camel_imapx_command_close
|
||||||
|
camel_imapx_command_wait
|
||||||
|
camel_imapx_command_done
|
||||||
|
+camel_imapx_command_failed
|
||||||
|
camel_imapx_command_set_error_if_failed
|
||||||
|
CamelIMAPXCommandQueue
|
||||||
|
camel_imapx_command_queue_new
|
18
evolution-data-server-3.8.5-maildir-tmp-autocreate.patch
Normal file
18
evolution-data-server-3.8.5-maildir-tmp-autocreate.patch
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
diff -up evolution-data-server-3.8.5/camel/providers/local/camel-maildir-store.c.maildir-tmp-autocreate evolution-data-server-3.8.5/camel/providers/local/camel-maildir-store.c
|
||||||
|
--- evolution-data-server-3.8.5/camel/providers/local/camel-maildir-store.c.maildir-tmp-autocreate 2013-07-23 13:57:51.000000000 +0200
|
||||||
|
+++ evolution-data-server-3.8.5/camel/providers/local/camel-maildir-store.c 2013-08-12 10:31:18.600063994 +0200
|
||||||
|
@@ -506,9 +506,11 @@ scan_fi (CamelStore *store,
|
||||||
|
cur = g_build_filename (path, dir_name, "cur", NULL);
|
||||||
|
new = g_build_filename (path, dir_name, "new", NULL);
|
||||||
|
|
||||||
|
- if (!(g_stat (tmp, &st) == 0 && S_ISDIR (st.st_mode)
|
||||||
|
- && g_stat (cur, &st) == 0 && S_ISDIR (st.st_mode)
|
||||||
|
- && g_stat (new, &st) == 0 && S_ISDIR (st.st_mode)))
|
||||||
|
+ if (!(g_stat (cur, &st) == 0 && S_ISDIR (st.st_mode)
|
||||||
|
+ && g_stat (new, &st) == 0 && S_ISDIR (st.st_mode)
|
||||||
|
+ /* Create 'tmp' dir on demand, if other directories are there,
|
||||||
|
+ because some backup tools can drop the 'tmp' directory. */
|
||||||
|
+ && ((g_stat (tmp, &st) == 0 && S_ISDIR (st.st_mode)) || g_mkdir (tmp, 0700) == 0)))
|
||||||
|
fi->flags |= CAMEL_FOLDER_NOSELECT;
|
||||||
|
|
||||||
|
g_free (new);
|
|
@ -45,13 +45,20 @@
|
||||||
|
|
||||||
Name: evolution-data-server
|
Name: evolution-data-server
|
||||||
Summary: Evolution Data Server
|
Summary: Evolution Data Server
|
||||||
Version: 3.8.4
|
Version: 3.8.5
|
||||||
Release: 1
|
Release: 1
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
URL: http://www.gnome.org/projects/evolution/
|
URL: http://www.gnome.org/projects/evolution/
|
||||||
Source0: ftp://ftp.gnome.org/pub/GNOME/sources/%{name}/3.8/%{name}-%{version}.tar.xz
|
Source0: ftp://ftp.gnome.org/pub/GNOME/sources/%{name}/3.8/%{name}-%{version}.tar.xz
|
||||||
|
|
||||||
|
# RH bug #995516
|
||||||
|
Patch02: evolution-data-server-3.8.5-cert-viewer-crash.patch
|
||||||
|
# RH bug #995702
|
||||||
|
Patch03: evolution-data-server-3.8.5-maildir-tmp-autocreate.patch
|
||||||
|
# GNOME bug #704513
|
||||||
|
Patch04: evolution-data-server-3.8.5-imapx-summary-vanish.patch
|
||||||
|
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: db-devel
|
BuildRequires: db-devel
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
|
@ -236,6 +243,7 @@ GObject Introspection interface description for %{name}.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%apply_patches
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure2_5x \
|
%configure2_5x \
|
||||||
|
|
Loading…
Add table
Reference in a new issue