From 4d0ae61f15875e31b1a434c5fe96c84f79b0433b Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Jun 21 2010 08:07:42 +0000 Subject: - Update to 2.30.2 - Remove patch for Red Hat bug #587449 (fixed upstream) - Remove patch for Red Hat bug #602144 (fixed upstream) --- diff --git a/.cvsignore b/.cvsignore index 40ce75d..38ebb60 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -evolution-data-server-2.30.1.tar.bz2 +evolution-data-server-2.30.2.tar.bz2 diff --git a/evolution-data-server-2.30.1-gn550414.patch b/evolution-data-server-2.30.1-gn550414.patch deleted file mode 100644 index 09a8ed1..0000000 --- a/evolution-data-server-2.30.1-gn550414.patch +++ /dev/null @@ -1,229 +0,0 @@ -diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c -index 41ab96b..0ab6887 100644 ---- a/camel/camel-folder-summary.c -+++ b/camel/camel-folder-summary.c -@@ -168,11 +168,11 @@ camel_folder_summary_init (CamelFolderSummary *s) - s->uids = g_ptr_array_new (); - s->loaded_infos = g_hash_table_new (g_str_hash, g_str_equal); - -- p->summary_lock = g_mutex_new(); -- p->io_lock = g_mutex_new(); -- p->filter_lock = g_mutex_new(); -- p->alloc_lock = g_mutex_new(); -- p->ref_lock = g_mutex_new(); -+ g_static_rec_mutex_init (&p->summary_lock); -+ g_static_rec_mutex_init (&p->io_lock); -+ g_static_rec_mutex_init (&p->filter_lock); -+ g_static_rec_mutex_init (&p->alloc_lock); -+ g_static_rec_mutex_init (&p->ref_lock); - - s->meta_summary = g_malloc0(sizeof(CamelFolderMetaSummary)); - -@@ -239,11 +239,11 @@ camel_folder_summary_finalize (CamelObject *obj) - g_free(s->meta_summary->path); - g_free(s->meta_summary); - -- g_mutex_free(p->summary_lock); -- g_mutex_free(p->io_lock); -- g_mutex_free(p->filter_lock); -- g_mutex_free(p->alloc_lock); -- g_mutex_free(p->ref_lock); -+ g_static_rec_mutex_free (&p->summary_lock); -+ g_static_rec_mutex_free (&p->io_lock); -+ g_static_rec_mutex_free (&p->filter_lock); -+ g_static_rec_mutex_free (&p->alloc_lock); -+ g_static_rec_mutex_free (&p->ref_lock); - - g_free(p); - } -@@ -573,8 +573,6 @@ message_info_from_uid (CamelFolderSummary *s, const gchar *uid) - folder_name = s->folder->full_name; - cdb = s->folder->parent_store->cdb_r; - -- CAMEL_SUMMARY_UNLOCK(s, summary_lock); -- - data.summary = s; - data.double_ref = TRUE; - data.add = FALSE; -@@ -582,11 +580,10 @@ message_info_from_uid (CamelFolderSummary *s, const gchar *uid) - ret = camel_db_read_message_info_record_with_uid (cdb, folder_name, uid, &data, camel_read_mir_callback, &ex); - if (ret != 0) { - camel_exception_clear (&ex); -+ CAMEL_SUMMARY_UNLOCK(s, summary_lock); - return NULL; - } - -- CAMEL_SUMMARY_LOCK(s, summary_lock); -- - /* We would have double reffed at camel_read_mir_callback */ - info = g_hash_table_lookup (s->loaded_infos, uid); - -@@ -5216,3 +5213,21 @@ camel_folder_summary_guess_content_info (CamelMessageInfo *mi, CamelContentType - - return NULL; - } -+ -+void -+camel_folder_summary_lock_summary (CamelFolderSummary *summary) -+{ -+ g_return_if_fail (summary != NULL); -+ g_return_if_fail (CAMEL_IS_FOLDER_SUMMARY (summary)); -+ -+ CAMEL_SUMMARY_LOCK (summary, summary_lock); -+} -+ -+void -+camel_folder_summary_unlock_summary (CamelFolderSummary *summary) -+{ -+ g_return_if_fail (summary != NULL); -+ g_return_if_fail (CAMEL_IS_FOLDER_SUMMARY (summary)); -+ -+ CAMEL_SUMMARY_UNLOCK (summary, summary_lock); -+} -diff --git a/camel/camel-folder-summary.h b/camel/camel-folder-summary.h -index 98629b5..6437a37 100644 ---- a/camel/camel-folder-summary.h -+++ b/camel/camel-folder-summary.h -@@ -514,6 +514,9 @@ void camel_message_info_dump (CamelMessageInfo *mi); - /* Migration code */ - gint camel_folder_summary_migrate_infos(CamelFolderSummary *s); - -+void camel_folder_summary_lock_summary (CamelFolderSummary *summary); -+void camel_folder_summary_unlock_summary (CamelFolderSummary *summary); -+ - G_END_DECLS - - #endif /* _CAMEL_FOLDER_SUMMARY_H */ -diff --git a/camel/camel-private.h b/camel/camel-private.h -index 51fc00f..2a4d666 100644 ---- a/camel/camel-private.h -+++ b/camel/camel-private.h -@@ -119,11 +119,11 @@ struct _CamelFolderSummaryPrivate { - - struct _CamelIndex *index; - -- GMutex *summary_lock; /* for the summary hashtable/array */ -- GMutex *io_lock; /* load/save lock, for access to saved_count, etc */ -- GMutex *filter_lock; /* for accessing any of the filtering/indexing stuff, since we share them */ -- GMutex *alloc_lock; /* for setting up and using allocators */ -- GMutex *ref_lock; /* for reffing/unreffing messageinfo's ALWAYS obtain before summary_lock */ -+ GStaticRecMutex summary_lock; /* for the summary hashtable/array */ -+ GStaticRecMutex io_lock; /* load/save lock, for access to saved_count, etc */ -+ GStaticRecMutex filter_lock; /* for accessing any of the filtering/indexing stuff, since we share them */ -+ GStaticRecMutex alloc_lock; /* for setting up and using allocators */ -+ GStaticRecMutex ref_lock; /* for reffing/unreffing messageinfo's ALWAYS obtain before summary_lock */ - GHashTable *flag_cache; - - gboolean need_preview; -@@ -131,9 +131,9 @@ struct _CamelFolderSummaryPrivate { - }; - - #define CAMEL_SUMMARY_LOCK(f, l) \ -- (g_mutex_lock(((CamelFolderSummary *) (f))->priv->l)) -+ (g_static_rec_mutex_lock (&((CamelFolderSummary *) (f))->priv->l)) - #define CAMEL_SUMMARY_UNLOCK(f, l) \ -- (g_mutex_unlock(((CamelFolderSummary *) (f))->priv->l)) -+ (g_static_rec_mutex_unlock (&((CamelFolderSummary *) (f))->priv->l)) - - struct _CamelStoreSummaryPrivate { - GMutex *summary_lock; /* for the summary hashtable/array */ -diff --git a/camel/providers/local/camel-mbox-summary.c b/camel/providers/local/camel-mbox-summary.c -index 0fdd84e..96de86a 100644 ---- a/camel/providers/local/camel-mbox-summary.c -+++ b/camel/providers/local/camel-mbox-summary.c -@@ -452,10 +452,13 @@ message_info_load(CamelFolderSummary *s, FILE *in) - - mi = ((CamelFolderSummaryClass *)camel_mbox_summary_parent)->message_info_load(s, in); - if (mi) { -+ off_t fp; - CamelMboxMessageInfo *mbi = (CamelMboxMessageInfo *)mi; - -- if (camel_file_util_decode_off_t(in, &mbi->frompos) == -1) -+ if (camel_file_util_decode_off_t(in, &fp) == -1) - goto error; -+ -+ mbi->frompos = (goffset) fp; - } - - return mi; -@@ -472,7 +475,7 @@ meta_message_info_save(CamelFolderSummary *s, FILE *out_meta, FILE *out, CamelMe - io(printf("saving mbox message info\n")); - - if (((CamelFolderSummaryClass *)camel_mbox_summary_parent)->meta_message_info_save(s, out_meta, out, mi) == -1 -- || camel_file_util_encode_off_t(out_meta, mbi->frompos) == -1) -+ || camel_file_util_encode_off_t(out_meta, (off_t) mbi->frompos) == -1) - return -1; - - return 0; -@@ -498,7 +501,7 @@ message_info_save(CamelFolderSummary *s, FILE *out, CamelMessageInfo *mi) - io(printf("saving mbox message info\n")); - - if (((CamelFolderSummaryClass *)camel_mbox_summary_parent)->message_info_save(s, out, mi) == -1 -- || camel_file_util_encode_off_t (out, mbi->frompos) == -1) -+ || camel_file_util_encode_off_t (out, (off_t) mbi->frompos) == -1) - return -1; - - return 0; -@@ -866,6 +869,7 @@ mbox_summary_sync_quick(CamelMboxSummary *mbs, gboolean expunge, CamelFolderChan - camel_mime_parser_scan_pre_from(mp, TRUE); - camel_mime_parser_init_with_fd(mp, pfd); - -+ camel_folder_summary_lock_summary (s); - /* Sync only the changes */ - summary = camel_folder_summary_get_changed ((CamelFolderSummary *)mbs); - if (summary->len) -@@ -965,6 +969,7 @@ mbox_summary_sync_quick(CamelMboxSummary *mbs, gboolean expunge, CamelFolderChan - camel_object_unref((CamelObject *)mp); - - camel_operation_end(NULL); -+ camel_folder_summary_unlock_summary (s); - - return 0; - error: -@@ -978,6 +983,7 @@ mbox_summary_sync_quick(CamelMboxSummary *mbs, gboolean expunge, CamelFolderChan - camel_message_info_free((CamelMessageInfo *)info); - - camel_operation_end(NULL); -+ camel_folder_summary_unlock_summary (s); - - return -1; - } -@@ -1091,6 +1097,7 @@ camel_mbox_summary_sync_mbox(CamelMboxSummary *cls, guint32 flags, CamelFolderCh - camel_mime_parser_scan_pre_from(mp, TRUE); - camel_mime_parser_init_with_fd(mp, fd); - -+ camel_folder_summary_lock_summary (s); - count = camel_folder_summary_count(s); - for (i = 0; i < count; i++) { - gint pc = (i + 1) * 100 / count; -@@ -1256,6 +1263,8 @@ camel_mbox_summary_sync_mbox(CamelMboxSummary *cls, guint32 flags, CamelFolderCh - if (touched) - camel_folder_summary_header_save_to_db (s, ex); - -+ camel_folder_summary_unlock_summary (s); -+ - return 0; - error: - g_free(xevnew); -@@ -1265,6 +1274,8 @@ camel_mbox_summary_sync_mbox(CamelMboxSummary *cls, guint32 flags, CamelFolderCh - if (info) - camel_message_info_free((CamelMessageInfo *)info); - -+ camel_folder_summary_unlock_summary (s); -+ - return -1; - } - -diff --git a/camel/providers/local/camel-mbox-summary.h b/camel/providers/local/camel-mbox-summary.h -index 4bd3a92..d1b40f1 100644 ---- a/camel/providers/local/camel-mbox-summary.h -+++ b/camel/providers/local/camel-mbox-summary.h -@@ -42,7 +42,7 @@ typedef struct _CamelMboxMessageContentInfo { - typedef struct _CamelMboxMessageInfo { - CamelLocalMessageInfo info; - -- off_t frompos; -+ goffset frompos; - } CamelMboxMessageInfo; - - struct _CamelMboxSummary { diff --git a/evolution-data-server-2.30.1-gn617263.patch b/evolution-data-server-2.30.1-gn617263.patch deleted file mode 100644 index a80e7f9..0000000 --- a/evolution-data-server-2.30.1-gn617263.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/addressbook/backends/google/e-book-backend-google.c b/addressbook/backends/google/e-book-backend-google.c -index eddd9bf..7e14284 100644 ---- a/addressbook/backends/google/e-book-backend-google.c -+++ b/addressbook/backends/google/e-book-backend-google.c -@@ -521,6 +521,7 @@ e_book_backend_google_load_source (EBookBackend *backend, - use_ssl_str = e_source_get_property (source, "ssl"); - use_cache_str = e_source_get_property (source, "offline_sync"); - -+ refresh_interval = 3600; - if (refresh_interval_str) { - if (1 != sscanf (refresh_interval_str, "%u", &refresh_interval)) { - g_warning ("Could not parse refresh-interval!"); -diff --git a/addressbook/libedata-book/e-data-book-factory.c b/addressbook/libedata-book/e-data-book-factory.c -index 88a755c..821764c 100644 ---- a/addressbook/libedata-book/e-data-book-factory.c -+++ b/addressbook/libedata-book/e-data-book-factory.c -@@ -358,6 +358,19 @@ impl_BookFactory_getBook(EDataBookFactory *factory, const gchar *IN_source, DBus - } - - static void -+remove_data_book_cb (gpointer data_bk, gpointer user_data) -+{ -+ EDataBook *data_book; -+ -+ data_book = E_DATA_BOOK (data_bk); -+ g_return_if_fail (data_book != NULL); -+ -+ e_book_backend_remove_client (e_data_book_get_backend (data_book), data_book); -+ -+ g_object_unref (data_book); -+} -+ -+static void - name_owner_changed (DBusGProxy *proxy, - const gchar *name, - const gchar *prev_owner, -@@ -369,11 +382,14 @@ name_owner_changed (DBusGProxy *proxy, - GList *list = NULL; - g_mutex_lock (factory->priv->connections_lock); - while (g_hash_table_lookup_extended (factory->priv->connections, prev_owner, (gpointer)&key, (gpointer)&list)) { -+ GList *copy = g_list_copy (list); -+ - /* this should trigger the book's weak ref notify - * function, which will remove it from the list before - * it's freed, and will remove the connection from - * priv->connections once they're all gone */ -- g_object_unref (list->data); -+ g_list_foreach (copy, remove_data_book_cb, NULL); -+ g_list_free (copy); - } - - g_mutex_unlock (factory->priv->connections_lock); -diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/calendar/libedata-cal/e-data-cal-factory.c -index e7b6b44..f3b5f99 100644 ---- a/calendar/libedata-cal/e-data-cal-factory.c -+++ b/calendar/libedata-cal/e-data-cal-factory.c -@@ -443,6 +443,19 @@ impl_CalFactory_getCal (EDataCalFactory *factory, - } - - static void -+remove_data_cal_cb (gpointer data_cl, gpointer user_data) -+{ -+ EDataCal *data_cal; -+ -+ data_cal = E_DATA_CAL (data_cl); -+ g_return_if_fail (data_cal != NULL); -+ -+ e_cal_backend_remove_client (e_data_cal_get_backend (data_cal), data_cal); -+ -+ g_object_unref (data_cal); -+} -+ -+static void - name_owner_changed (DBusGProxy *proxy, - const gchar *name, - const gchar *prev_owner, -@@ -453,11 +466,14 @@ name_owner_changed (DBusGProxy *proxy, - gchar *key; - GList *list = NULL; - while (g_hash_table_lookup_extended (factory->priv->connections, prev_owner, (gpointer)&key, (gpointer)&list)) { -- /* this should trigger the book's weak ref notify -- * function, which will remove it from the list before -- * it's freed, and will remove the connection from -- * priv->connections once they're all gone */ -- g_object_unref (list->data); -+ GList *copy = g_list_copy (list); -+ -+ /* this should trigger the book's weak ref notify -+ * function, which will remove it from the list before -+ * it's freed, and will remove the connection from -+ * priv->connections once they're all gone */ -+ g_list_foreach (copy, remove_data_cal_cb, NULL); -+ g_list_free (copy); - } - } - } diff --git a/evolution-data-server.spec b/evolution-data-server.spec index 628e975..c453a8f 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -24,8 +24,8 @@ ### Abstract ### Name: evolution-data-server -Version: 2.30.1 -Release: 3%{?dist} +Version: 2.30.2 +Release: 1%{?dist} Group: System Environment/Libraries Summary: Backend data server for Evolution License: LGPLv2+ @@ -41,12 +41,6 @@ Obsoletes: evolution-webcal < 2.24.0 # RH bug #243296 Patch11: evolution-data-server-1.11.5-fix-64bit-acinclude.patch -#RH bug #587449 / Gnome bug #617263 -Patch12: evolution-data-server-2.30.1-gn617263.patch - -#RH bug #602144 / Gnome bug #550414 -Patch13: evolution-data-server-2.30.1-gn550414.patch - ### Build Dependencies ### BuildRequires: GConf2-devel @@ -123,8 +117,6 @@ This package contains developer documentation for %{name}. %setup -q %patch11 -p1 -b .fix-64bit-acinclude -%patch12 -p1 -b .gn617263 -%patch13 -p1 -b .gn550414 mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/lib @@ -344,6 +336,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/gtk-doc/html/libedataserverui %changelog +* Mon Jun 21 2010 Milan Crha - 2.30.2-1.fc13 +- Update to 2.30.2 +- Remove patch for Red Hat bug #587449 (fixed upstream) +- Remove patch for Red Hat bug #602144 (fixed upstream) + * Thu Jun 10 2010 Milan Crha - 2.30.1-3.fc13 - Add patch for Red Hat bug #602144 (summary and folder mismatch, even after sync) diff --git a/sources b/sources index c64fd61..aed0826 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f177441d6fd4ef8c9a92d5706d290f10 evolution-data-server-2.30.1.tar.bz2 +f9a70e43d98ae92ce886481e3b64e995 evolution-data-server-2.30.2.tar.bz2