diff --git a/.gitignore b/.gitignore index 1da36f8..d1801b9 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,11 @@ evolution-2.31.5.tar.bz2 /evolution-3.1.2.tar.bz2 /evolution-3.1.3.tar.bz2 /evolution-3.1.4.tar.bz2 +/evolution-3.1.5.tar.bz2 +/evolution-3.1.90.tar.xz +/evolution-3.1.91.tar.xz +/evolution-3.1.92.tar.xz +/evolution-3.2.0.tar.xz +/evolution-3.2.1.tar.xz +/evolution-3.2.2.tar.xz +/evolution-3.2.3.tar.xz diff --git a/evolution-2.30.1-help-contents.patch b/evolution-2.30.1-help-contents.patch index 1c90903..e2b75a2 100644 --- a/evolution-2.30.1-help-contents.patch +++ b/evolution-2.30.1-help-contents.patch @@ -1,7 +1,7 @@ diff -up evolution-2.30.1.2/shell/e-shell-window-actions.c.help-contents evolution-2.30.1.2/shell/e-shell-window-actions.c --- evolution-2.30.1.2/shell/e-shell-window-actions.c.help-contents 2010-04-26 09:13:18.000000000 -0400 +++ evolution-2.30.1.2/shell/e-shell-window-actions.c 2010-05-07 21:29:06.269059830 -0400 -@@ -2001,6 +2001,14 @@ e_shell_window_actions_init (EShellWindo +@@ -2001,6 +2001,15 @@ e_shell_window_actions_init (EShellWindo if (path == NULL) gtk_action_set_visible (ACTION (SUBMIT_BUG), FALSE); g_free (path); @@ -9,7 +9,8 @@ diff -up evolution-2.30.1.2/shell/e-shell-window-actions.c.help-contents evoluti + /* Viewing user documentation requires the evolution-help + * Fedora package. Look for one of the files it installs. */ + path = g_build_filename ( -+ EVOLUTION_DATADIR, "omf", PACKAGE, "evolution-C.omf", NULL); ++ EVOLUTION_DATADIR, "gnome", "help", ++ PACKAGE, "C", "index.page", NULL); + if (!g_file_test (path, G_FILE_TEST_IS_REGULAR)) + gtk_action_set_visible (ACTION (CONTENTS), FALSE); + g_free (path); diff --git a/evolution-3.2.3-composer-dirty.patch b/evolution-3.2.3-composer-dirty.patch new file mode 100644 index 0000000..4887c41 --- /dev/null +++ b/evolution-3.2.3-composer-dirty.patch @@ -0,0 +1,128 @@ +diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c +index 9f32d8c..c9f41d5 100644 +--- a/composer/e-msg-composer.c ++++ b/composer/e-msg-composer.c +@@ -3518,6 +3518,10 @@ msg_composer_send_cb (EMsgComposer *composer, + + g_return_if_fail (CAMEL_IS_MIME_MESSAGE (message)); + ++ /* The callback can set editor 'changed' if anything failed. */ ++ editor = GTKHTML_EDITOR (composer); ++ gtkhtml_editor_set_changed (editor, FALSE); ++ + g_signal_emit ( + composer, signals[SEND], 0, + message, context->activity); +@@ -3525,10 +3529,6 @@ msg_composer_send_cb (EMsgComposer *composer, + g_object_unref (message); + + async_context_free (context); +- +- /* XXX This should be elsewhere. */ +- editor = GTKHTML_EDITOR (composer); +- gtkhtml_editor_set_changed (editor, FALSE); + } + + /** +@@ -3610,6 +3610,10 @@ msg_composer_save_to_drafts_cb (EMsgComposer *composer, + + g_return_if_fail (CAMEL_IS_MIME_MESSAGE (message)); + ++ /* The callback can set editor 'changed' if anything failed. */ ++ editor = GTKHTML_EDITOR (composer); ++ gtkhtml_editor_set_changed (editor, FALSE); ++ + g_signal_emit ( + composer, signals[SAVE_TO_DRAFTS], + 0, message, context->activity); +@@ -3617,10 +3621,6 @@ msg_composer_save_to_drafts_cb (EMsgComposer *composer, + g_object_unref (message); + + async_context_free (context); +- +- /* XXX This should be elsewhere. */ +- editor = GTKHTML_EDITOR (composer); +- gtkhtml_editor_set_changed (editor, FALSE); + } + + /** +diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c +index 23c1755..ef5476f 100644 +--- a/mail/em-composer-utils.c ++++ b/mail/em-composer-utils.c +@@ -510,11 +510,13 @@ composer_send_completed (EMailSession *session, + AsyncContext *context) + { + GError *error = NULL; ++ gboolean set_changed = FALSE; + + e_mail_session_send_to_finish (session, result, &error); + + if (e_activity_handle_cancellation (context->activity, error)) { + g_error_free (error); ++ set_changed = TRUE; + goto exit; + } + +@@ -549,6 +551,7 @@ composer_send_completed (EMailSession *session, + if (response == GTK_RESPONSE_ACCEPT) /* Save to Outbox */ + e_msg_composer_save_to_outbox (context->composer); + g_error_free (error); ++ set_changed = TRUE; + goto exit; + } + +@@ -561,6 +564,9 @@ composer_send_completed (EMailSession *session, + gtk_widget_destroy, context->composer); + + exit: ++ if (set_changed) ++ gtkhtml_editor_set_changed (GTKHTML_EDITOR (context->composer), TRUE); ++ + async_context_free (context); + } + +@@ -649,9 +655,11 @@ composer_save_to_drafts_complete (EMailSession *session, + e_mail_session_handle_draft_headers_finish (session, result, &error); + + if (e_activity_handle_cancellation (context->activity, error)) { ++ gtkhtml_editor_set_changed (GTKHTML_EDITOR (context->composer), TRUE); + g_error_free (error); + + } else if (error != NULL) { ++ gtkhtml_editor_set_changed (GTKHTML_EDITOR (context->composer), TRUE); + g_warning ("%s", error->message); + g_error_free (error); + +@@ -688,6 +696,7 @@ composer_save_to_drafts_cleanup (CamelFolder *drafts_folder, + + if (e_activity_handle_cancellation (context->activity, error)) { + g_warn_if_fail (context->message_uid == NULL); ++ gtkhtml_editor_set_changed (GTKHTML_EDITOR (context->composer), TRUE); + async_context_free (context); + g_error_free (error); + return; +@@ -698,6 +707,7 @@ composer_save_to_drafts_cleanup (CamelFolder *drafts_folder, + alert_sink, + "mail-composer:save-to-drafts-error", + error->message, NULL); ++ gtkhtml_editor_set_changed (GTKHTML_EDITOR (context->composer), TRUE); + async_context_free (context); + g_error_free (error); + return; +@@ -761,6 +771,7 @@ composer_save_to_drafts_got_folder (EMailSession *session, + + if (e_activity_handle_cancellation (context->activity, error)) { + g_warn_if_fail (drafts_folder == NULL); ++ gtkhtml_editor_set_changed (GTKHTML_EDITOR (context->composer), TRUE); + async_context_free (context); + g_error_free (error); + return; +@@ -780,6 +791,7 @@ composer_save_to_drafts_got_folder (EMailSession *session, + GTK_WINDOW (context->composer), + "mail:ask-default-drafts", NULL); + if (response != GTK_RESPONSE_YES) { ++ gtkhtml_editor_set_changed (GTKHTML_EDITOR (context->composer), TRUE); + async_context_free (context); + return; + } diff --git a/evolution-3.2.3-libpst-0.6.54.patch b/evolution-3.2.3-libpst-0.6.54.patch new file mode 100644 index 0000000..4f61b9d --- /dev/null +++ b/evolution-3.2.3-libpst-0.6.54.patch @@ -0,0 +1,51 @@ +From 270b7b481529b23fced67a0624243da1c75c4c00 Mon Sep 17 00:00:00 2001 +From: Vincent Untz +Date: Thu, 5 Jan 2012 12:00:07 +0100 +Subject: [PATCH] pst-import: Fix build with libpst 0.6.54 and require this + version + +pst_open() requires an additional argument now. + +https://bugzilla.gnome.org/show_bug.cgi?id=667346 +--- + configure.ac | 4 ++-- + plugins/pst-import/pst-importer.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ce88950..b34ec77 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -47,7 +47,7 @@ m4_define([libgdata_minimum_version], [0.10]) + m4_define([libsoup_minimum_version], [2.31.2]) + m4_define([libxml_minimum_version], [2.7.3]) + m4_define([shared_mime_info_minimum_version], [0.22]) +-m4_define([libpst_minimum_version], [0.6.41]) ++m4_define([libpst_minimum_version], [0.6.54]) + m4_define([libnotify_minimum_version], [0.5.1]) + + dnl Optional Packages +@@ -1479,7 +1479,7 @@ AC_ARG_ENABLE([pst-import], + [enable_pst="$enableval"], [enable_pst=yes]) + + if test "x$enable_pst" = "xyes"; then +- PKG_CHECK_MODULES(LIBPST, libpst, have_pst=yes, have_pst=no) ++ PKG_CHECK_MODULES(LIBPST, libpst >= libpst_minimum_version, have_pst=yes, have_pst=no) + AC_SUBST(LIBPST_CFLAGS) + AC_SUBST(LIBPST_LIBS) + +diff --git a/plugins/pst-import/pst-importer.c b/plugins/pst-import/pst-importer.c +index 5b99053..4305827 100644 +--- a/plugins/pst-import/pst-importer.c ++++ b/plugins/pst-import/pst-importer.c +@@ -2219,7 +2219,7 @@ pst_init (pst_file *pst, + DEBUG_REGISTER_CLOSE (); + #endif + +- if (pst_open (pst, filename) < 0) { ++ if (pst_open (pst, filename, NULL) < 0) { + pst_error_msg ("Error opening PST file %s", filename); + return -1; + } +-- +1.7.7.3 \ No newline at end of file diff --git a/evolution-3.2.3-save-as-mbox.patch b/evolution-3.2.3-save-as-mbox.patch new file mode 100644 index 0000000..77706a3 --- /dev/null +++ b/evolution-3.2.3-save-as-mbox.patch @@ -0,0 +1,67 @@ +diff -up evolution-3.2.3/mail/e-mail-folder-utils.c.save-as-mbox evolution-3.2.3/mail/e-mail-folder-utils.c +--- evolution-3.2.3/mail/e-mail-folder-utils.c.save-as-mbox 2011-09-28 02:22:16.000000000 +0200 ++++ evolution-3.2.3/mail/e-mail-folder-utils.c 2012-04-23 09:20:46.594366070 +0200 +@@ -1178,8 +1178,8 @@ e_mail_folder_save_messages_sync (CamelF + GError **error) + { + GFileOutputStream *file_output_stream; ++ CamelStream *base_stream = NULL; + GByteArray *byte_array; +- CamelStream *base_stream; + gboolean success = TRUE; + guint ii; + +@@ -1208,9 +1208,7 @@ e_mail_folder_save_messages_sync (CamelF + return FALSE; + } + +- /* CamelStreamMem takes ownership of the GByteArray. */ + byte_array = g_byte_array_new (); +- base_stream = camel_stream_mem_new_with_byte_array (byte_array); + + for (ii = 0; ii < message_uids->len; ii++) { + CamelMimeMessage *message; +@@ -1221,6 +1219,17 @@ e_mail_folder_save_messages_sync (CamelF + gint percent; + gint retval; + ++ if (base_stream != NULL) ++ g_object_unref (base_stream); ++ ++ /* CamelStreamMem does NOT take ownership of the byte ++ * array when set with camel_stream_mem_set_byte_array(). ++ * This allows us to reuse the same memory slab for each ++ * message, which is slightly more efficient. */ ++ base_stream = camel_stream_mem_new (); ++ camel_stream_mem_set_byte_array ( ++ CAMEL_STREAM_MEM (base_stream), byte_array); ++ + uid = g_ptr_array_index (message_uids, ii); + + message = camel_folder_get_message_sync ( +@@ -1278,18 +1287,19 @@ e_mail_folder_save_messages_sync (CamelF + percent = ((ii + 1) * 100) / message_uids->len; + camel_operation_progress (cancellable, percent); + +- /* Flush the buffer for the next message. +- * For memory streams this never fails. */ +- g_seekable_seek ( +- G_SEEKABLE (base_stream), +- 0, G_SEEK_SET, NULL, NULL); ++ /* Reset the byte array for the next message. */ ++ g_byte_array_set_size (byte_array, 0); + + g_object_unref (message); + } + + exit: ++ if (base_stream != NULL) ++ g_object_unref (base_stream); ++ ++ g_byte_array_free (byte_array, TRUE); ++ + g_object_unref (file_output_stream); +- g_object_unref (base_stream); + + camel_operation_pop_message (cancellable); + diff --git a/evolution.spec b/evolution.spec index 448b1c7..9dac51c 100644 --- a/evolution.spec +++ b/evolution.spec @@ -27,14 +27,14 @@ ### Abstract ### Name: evolution -Version: 3.1.4 -Release: 1%{?dist} +Version: 3.2.3 +Release: 3%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL URL: http://projects.gnome.org/evolution/ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -Source: http://download.gnome.org/sources/%{name}/3.1/%{name}-%{version}.tar.bz2 +Source: http://download.gnome.org/sources/%{name}/3.2/%{name}-%{version}.tar.xz Obsoletes: anjal <= %{last_anjal_version} Obsoletes: libgal2 <= %{last_libgal2_version} @@ -45,7 +45,16 @@ Obsoletes: libgal2 <= %{last_libgal2_version} Patch10: evolution-1.4.4-ldap-x86_64-hack.patch # RH bug #589555 -Patch13: evolution-2.30.1-help-contents.patch +Patch11: evolution-2.30.1-help-contents.patch + +# Gnome bug #667346 - build with libpst-0.6.54 +Patch12: evolution-3.2.3-libpst-0.6.54.patch + +# Gnome bug #617557/RH bug #799489 +Patch13: evolution-3.2.3-composer-dirty.patch + +# RH bug #814663 +Patch14: evolution-3.2.3-save-as-mbox.patch ## Dependencies ### @@ -115,7 +124,7 @@ BuildRequires: libnotify-devel %endif %if %{libpst_support} -BuildRequires: libpst-devel +BuildRequires: libpst-devel >= 0.6.54 BuildRequires: libytnef-devel %endif @@ -202,7 +211,10 @@ This package contains the plugin to import Microsoft Personal Storage Table %prep %setup -q -n evolution-%{version} %patch10 -p1 -b .ldaphack -%patch13 -p1 -b .help-contents +%patch11 -p1 -b .help-contents +%patch12 -p1 -b .libpst-0.6.54 +%patch13 -p1 -b .composer-dirty +%patch14 -p1 -b .save-as-mbox mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/lib @@ -246,6 +258,7 @@ intltoolize --force autoconf %configure \ + --disable-maintainer-mode \ --disable-image-inline \ --enable-gtk-doc \ --with-sub-version=" (%{version}-%{release})" \ @@ -336,7 +349,11 @@ fi %pre bogofilter export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` -gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/bogo-junk-plugin.schemas > /dev/null || : +gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/evolution-bogofilter.schemas > /dev/null || : + +%pre spamassassin +export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` +gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/evolution-spamassassin.schemas > /dev/null || : %post /sbin/ldconfig @@ -356,7 +373,11 @@ gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/evolution-mail. %post bogofilter export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/bogo-junk-plugin.schemas > /dev/null || : +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/evolution-bogofilter.schemas > /dev/null || : + +%post spamassassin +export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/evolution-spamassassin.schemas > /dev/null || : %preun if [ "$1" -eq 0 ] ; then @@ -376,7 +397,13 @@ fi %preun bogofilter if [ "$1" -eq 0 ] ; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` -gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/bogo-junk-plugin.schemas > /dev/null || : +gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/evolution-bogofilter.schemas > /dev/null || : +fi + +%preun spamassassin +if [ "$1" -eq 0 ] ; then +export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` +gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/evolution-spamassassin.schemas > /dev/null || : fi %postun @@ -604,7 +631,7 @@ rm -rf $RPM_BUILD_ROOT %files help -f help.lang %defattr(-, root, root) -%dir %{_datadir}/omf/evolution +%dir %{_datadir}/gnome/help/evolution %files bogofilter %defattr(-, root, root) @@ -633,6 +660,53 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Apr 23 2012 Milan Crha - 3.2.3-3 +- Add patch for RH bug #814663 (broken result of Save as mbox) + +* Wed Mar 07 2012 Milan Crha - 3.2.3-2 +- Add patch for RH bug #799489 (set composer dirty on failed send) + +* Mon Jan 09 2012 Milan Crha - 3.2.3-1 +- Update to 3.2.3 +- Remove patch for RH bug #757164 (fixed upstream). +- Add patch for Gnome bug #667346 (build with libpst-0.6.54) + +* Wed Nov 30 2011 Matthew Barnes - 3.2.2-2 +- Add patch for RH bug #757164 (CVE-2011-3201). + +* Mon Nov 14 2011 Milan Crha - 3.2.2-1 +- Update to 3.2.2 + +* Fri Oct 28 2011 Matthew Barnes - 3.2.1-2 +- Fix detection of evolution-help (not using OMF files anymore). + +* Mon Oct 17 2011 Milan Crha - 3.2.1-1 +- Update to 3.2.1 + +* Mon Sep 26 2011 Milan Crha - 3.2.0-1 +- Update to 3.2.0 +- Manage properly schemas files for evolution-bogofilter/spamassassin + +* Mon Sep 19 2011 Milan Crha - 3.1.92-1 +- Update to 3.1.92 + +* Wed Sep 7 2011 Matthias Clasen - 3.1.91-2 +- Rebuild against a newer glib + +* Wed Sep 07 2011 Milan Crha - 3.1.91-1 +- Update to 3.1.91 + +* Mon Aug 29 2011 Milan Crha - 3.1.90-1 +- Update to 3.1.90 + +* Mon Aug 15 2011 Milan Crha - 3.1.5-1 +- Update to 3.1.5 +- Remove patch for resident modules (fixed upstream) + +* Fri Aug 05 2011 Matthew Barnes - 3.1.4-2 +- Add patch to make all dynamically-loaded modules resident to avoid a + potential crash on startup. + * Sat Jul 23 2011 Matthew Barnes - 3.1.4-1 - Update to 3.1.4 diff --git a/sources b/sources index 81d6f06..d1e4370 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eff3a714a3fa97a3ceb624a0a8fd1059 evolution-3.1.4.tar.bz2 +27b2e4ec00c7b9af03f9f034a3ad5dcd evolution-3.2.3.tar.xz