Hello community,
here is the log from the commit of package evolution-data-server
checked in at Mon Apr 24 17:30:49 CEST 2006.
--------
--- GNOME/evolution-data-server/evolution-data-server.changes 2006-04-21 12:45:33.000000000 +0200
+++ STABLE/evolution-data-server/evolution-data-server.changes 2006-04-24 14:55:07.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Apr 24 11:21:38 CEST 2006 - sragavan@novell.com
+
+- bulk-delete.patch: Uses new SOAP API for removing bulk items (Sankar)
+- imap-perf.patch: Get onloy the used headers and not all (Sankar)
+- nameselectorlist-keychange.diff: Change the keybinding for list (Srini)
+- imap4-removal.diff: Remove IMAP4 from the build (harish)
+
+--------------------------------------------------------------------
New:
----
bulk-delete.patch
imap-perf.patch
imap4-removal.diff
nameselectorlist-keychange.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ evolution-data-server.spec ++++++
--- /var/tmp/diff_new_pack.uk65Ex/_old 2006-04-24 17:29:54.000000000 +0200
+++ /var/tmp/diff_new_pack.uk65Ex/_new 2006-04-24 17:29:54.000000000 +0200
@@ -18,7 +18,7 @@
Autoreqprov: on
Summary: Evolution Data Server
Version: 1.6.0
-Release: 28
+Release: 29
Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.6/%{name}-%{version}.tar.bz2
#Patch3: evolution-data-server-gcc4.patch
Patch5: evolution-data-server-configure.patch
@@ -73,6 +73,10 @@
Patch52: bgo-310433-eds-deny-rename-stdfolders.diff
Patch53: bgo-329371-eds-fix-full-username-email-format.patch
Patch54: bnc-164323-random-mark-unread-updated.patch
+Patch55: bulk-delete.patch
+Patch56: imap-perf.patch
+Patch57: nameselectorlist-keychange.diff
+Patch58: imap4-removal.diff
Url: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: libsoup >= 2.2.6 mozilla-nss
@@ -157,6 +161,10 @@
%patch52
%patch53
%patch54
+%patch55
+%patch56
+%patch57
+%patch58
%build
rename no nb po/no.*
@@ -167,6 +175,7 @@
aclocal
autoconf
automake
+autoheader
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED" \
./configure --prefix=%{prefix} \
--mandir=%{_mandir} \
@@ -206,6 +215,11 @@
%{prefix}/share/gtk-doc/html/*
%changelog -n evolution-data-server
+* Mon Apr 24 2006 - sragavan@novell.com
+- bulk-delete.patch: Uses new SOAP API for removing bulk items (Sankar)
+- imap-perf.patch: Get onloy the used headers and not all (Sankar)
+- nameselectorlist-keychange.diff: Change the keybinding for list (Srini)
+- imap4-removal.diff: Remove IMAP4 from the build (harish)
* Fri Apr 21 2006 - sragavan@novell.com
- Fixes (bgo)
310433 - Should not allow renaming standard folders. - Sushma
++++++ bulk-delete.patch ++++++
Index: camel/providers/groupwise/camel-groupwise-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-folder.c,v
retrieving revision 1.130
diff -u -p -r1.130 camel-groupwise-folder.c
--- camel/providers/groupwise/camel-groupwise-folder.c 18 Apr 2006 15:15:30 -0000 1.130
+++ camel/providers/groupwise/camel-groupwise-folder.c 24 Apr 2006 08:37:43 -0000
@@ -61,6 +61,7 @@
#define JUNK_FOLDER "Junk Mail"
#define READ_CURSOR_MAX_IDS 500
#define MAX_ATTACHMENT_SIZE 1*1024*1024 /*In bytes*/
+#define GROUPWISE_BULK_DELETE_LIMIT 100
static CamelOfflineFolderClass *parent_class = NULL;
@@ -586,7 +587,11 @@ groupwise_sync (CamelFolder *folder, gbo
EGwConnectionStatus status;
EGwConnection *cnc;
int count, i;
-
+
+ GList *deleted_items, *deleted_head=NULL;
+
+ deleted_items = NULL;
+
if (((CamelOfflineStore *) gw_store)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL ||
((CamelService *)gw_store)->status == CAMEL_SERVICE_DISCONNECTED) {
groupwise_sync_summary (folder, ex);
@@ -606,7 +611,7 @@ groupwise_sync (CamelFolder *folder, gbo
count = camel_folder_summary_count (folder->summary);
CAMEL_GROUPWISE_FOLDER_LOCK (folder, cache_lock);
- for (i=0 ; i summary, i);
gw_info = (CamelGroupwiseMessageInfo *) info;
@@ -635,22 +640,57 @@ groupwise_sync (CamelFolder *folder, gbo
if (diff.changed & CAMEL_MESSAGE_SEEN)
read_items = g_list_append (read_items, (char *)uid);
if (diff.changed & CAMEL_MESSAGE_DELETED) {
- CAMEL_SERVICE_LOCK (gw_store, connect_lock);
- status = e_gw_connection_remove_item (cnc, container_id, uid);
- if (status == E_GW_CONNECTION_STATUS_OK) {
- CAMEL_GROUPWISE_FOLDER_LOCK (folder, cache_lock);
- camel_folder_summary_remove (folder->summary, info);
- camel_data_cache_remove(gw_folder->cache, "cache", uid, ex);
- CAMEL_GROUPWISE_FOLDER_UNLOCK (folder, cache_lock);
- i--; count--;
+ if (deleted_items)
+ deleted_items = g_list_prepend (deleted_items, (char *)camel_message_info_uid (info));
+ else {
+ g_list_free (deleted_head);
+ deleted_head = NULL;
+ deleted_head = deleted_items = g_list_prepend (deleted_items, (char *)camel_message_info_uid (info));
+ }
+
+ if (g_list_length (deleted_items) == GROUPWISE_BULK_DELETE_LIMIT ) {
+ CAMEL_SERVICE_LOCK (gw_store, connect_lock);
+ status = e_gw_connection_remove_items (cnc, container_id, deleted_items);
+ CAMEL_SERVICE_UNLOCK (gw_store, connect_lock);
+ if (status == E_GW_CONNECTION_STATUS_OK) {
+ char *uid;
+ while (deleted_items) {
+ uid = (char *)deleted_items->data;
+ CAMEL_GROUPWISE_FOLDER_LOCK (folder, cache_lock);
+ camel_folder_summary_remove_uid (folder->summary, uid);
+ camel_data_cache_remove(gw_folder->cache, "cache", uid, ex);
+ CAMEL_GROUPWISE_FOLDER_UNLOCK (folder, cache_lock);
+ deleted_items = g_list_next (deleted_items);
+ count -= GROUPWISE_BULK_DELETE_LIMIT;
+ i -= GROUPWISE_BULK_DELETE_LIMIT;
+ }
+ }
}
- CAMEL_SERVICE_UNLOCK (gw_store, connect_lock);
}
}
}
camel_message_info_free (info);
}
CAMEL_GROUPWISE_FOLDER_UNLOCK (folder, cache_lock);
+ if (deleted_items) {
+ CAMEL_SERVICE_LOCK (gw_store, connect_lock);
+ status = e_gw_connection_remove_items (cnc, container_id, deleted_items);
+ CAMEL_SERVICE_UNLOCK (gw_store, connect_lock);
+ if (status == E_GW_CONNECTION_STATUS_OK) {
+ char *uid;
+ while (deleted_items) {
+ uid = (char *)deleted_items->data;
+ CAMEL_GROUPWISE_FOLDER_LOCK (folder, cache_lock);
+ camel_folder_summary_remove_uid (folder->summary, uid);
+ camel_data_cache_remove(gw_folder->cache, "cache", uid, ex);
+ CAMEL_GROUPWISE_FOLDER_UNLOCK (folder, cache_lock);
+ deleted_items = g_list_next (deleted_items);
+ count -= GROUPWISE_BULK_DELETE_LIMIT;
+ i -= GROUPWISE_BULK_DELETE_LIMIT;
+ }
+ }
+ g_list_free (deleted_head);
+ }
if (read_items && g_list_length (read_items)) {
CAMEL_SERVICE_LOCK (gw_store, connect_lock);
@@ -1960,8 +2000,10 @@ groupwise_expunge (CamelFolder *folder,
CamelFolderChangeInfo *changes;
int i, max;
gboolean delete = FALSE;
+ GList *deleted_items, *deleted_head=NULL;
+
-
+ deleted_items = NULL;
cnc = cnc_lookup (priv);
if (!cnc)
return;
@@ -1988,26 +2030,62 @@ groupwise_expunge (CamelFolder *folder,
info = camel_folder_summary_index (folder->summary, i);
ginfo = (CamelGroupwiseMessageInfo *) info;
if (ginfo && (ginfo->info.flags & CAMEL_MESSAGE_DELETED)) {
- const char *uid = camel_message_info_uid (info);
- CAMEL_SERVICE_LOCK (groupwise_store, connect_lock);
- status = e_gw_connection_remove_item (cnc, container_id, uid);
- if (status == E_GW_CONNECTION_STATUS_OK) {
+
+ if (deleted_items)
+ deleted_items = g_list_prepend (deleted_items, (char *)camel_message_info_uid (info));
+ else {
+ g_list_free (deleted_head);
+ deleted_head = NULL;
+ deleted_head = deleted_items = g_list_prepend (deleted_items, (char *)camel_message_info_uid (info));
+ }
+ if (g_list_length (deleted_items) == GROUPWISE_BULK_DELETE_LIMIT ) {
+ /* Read the FIXME below */
+ CAMEL_SERVICE_LOCK (groupwise_store, connect_lock);
+ status = e_gw_connection_remove_items (cnc, container_id, deleted_items);
+ CAMEL_SERVICE_UNLOCK (groupwise_store, connect_lock);
+ if (status == E_GW_CONNECTION_STATUS_OK) {
+ char *uid;
+ while (deleted_items) {
+ uid = (char *)deleted_items->data;
+ CAMEL_GROUPWISE_FOLDER_LOCK (folder, cache_lock);
+ camel_folder_change_info_remove_uid (changes, uid);
+ camel_folder_summary_remove_uid (folder->summary, uid);
+ camel_data_cache_remove(gw_folder->cache, "cache", uid, ex);
+ CAMEL_GROUPWISE_FOLDER_UNLOCK (folder, cache_lock);
+ deleted_items = g_list_next (deleted_items);
+ max -= GROUPWISE_BULK_DELETE_LIMIT;
+ i -= GROUPWISE_BULK_DELETE_LIMIT;
+ }
+ }
+ delete = TRUE;
+ }
+ }
+ camel_message_info_free (info);
+ }
+
+ if (deleted_items) {
+ /* FIXME: Put these in a function and reuse it inside the above loop, here and in groupwise_sync*/
+ CAMEL_SERVICE_LOCK (groupwise_store, connect_lock);
+ status = e_gw_connection_remove_items (cnc, container_id, deleted_items);
+ CAMEL_SERVICE_UNLOCK (groupwise_store, connect_lock);
+ if (status == E_GW_CONNECTION_STATUS_OK) {
+ char *uid;
+ while (deleted_items) {
+ uid = (char *)deleted_items->data;
CAMEL_GROUPWISE_FOLDER_LOCK (folder, cache_lock);
- camel_folder_change_info_remove_uid (changes, (char *) uid);
- camel_folder_summary_remove (folder->summary, info);
+ camel_folder_change_info_remove_uid (changes, uid);
+ camel_folder_summary_remove_uid (folder->summary, uid);
camel_data_cache_remove(gw_folder->cache, "cache", uid, ex);
CAMEL_GROUPWISE_FOLDER_UNLOCK (folder, cache_lock);
- delete = TRUE;
- i--; max--;
+ deleted_items = g_list_next (deleted_items);
}
- CAMEL_SERVICE_UNLOCK (groupwise_store, connect_lock);
}
- camel_message_info_free (info);
+ delete = TRUE;
+ g_list_free (deleted_head);
}
if (delete)
camel_object_trigger_event (CAMEL_OBJECT (folder), "folder_changed", changes);
-
g_free (container_id);
camel_folder_change_info_free (changes);
++++++ imap-perf.patch ++++++
Index: camel/providers/imap/camel-imap-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap/camel-imap-folder.c,v
retrieving revision 1.358
diff -u -p -r1.358 camel-imap-folder.c
--- camel/providers/imap/camel-imap-folder.c 10 Jan 2006 07:56:47 -0000 1.358
+++ camel/providers/imap/camel-imap-folder.c 21 Apr 2006 09:14:56 -0000
@@ -2348,7 +2348,7 @@ imap_update_summary (CamelFolder *folder
CAMEL_SERVICE_ASSERT_LOCKED (store, connect_lock);
if (store->server_level >= IMAP_LEVEL_IMAP4REV1)
- header_spec = "HEADER";
+ header_spec = "HEADER.FIELDS (" CAMEL_MESSAGE_INFO_HEADERS MAILING_LIST_HEADERS ")";
else
header_spec = "0";
++++++ imap4-removal.diff ++++++
Index: configure.in
===================================================================
RCS file: /cvs/gnome/evolution-data-server/configure.in,v
retrieving revision 1.160
diff -u -p -r1.160 configure.in
--- configure.in 20 Mar 2006 13:53:00 -0000 1.160
+++ configure.in 24 Apr 2006 13:18:39 -0000
@@ -1331,7 +1331,6 @@ camel/providers/groupwise/Makefile
camel/providers/hula/Makefile
camel/providers/imap/Makefile
camel/providers/imapp/Makefile
-camel/providers/imap4/Makefile
camel/providers/local/Makefile
camel/providers/nntp/Makefile
camel/providers/pop3/Makefile
Index: camel/providers/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/Makefile.am,v
retrieving revision 1.38
diff -u -p -r1.38 Makefile.am
--- camel/providers/Makefile.am 14 Nov 2005 19:15:31 -0000 1.38
+++ camel/providers/Makefile.am 24 Apr 2006 13:18:39 -0000
@@ -13,6 +13,6 @@ else
SENDMAIL_DIR=sendmail
endif
-SUBDIRS = pop3 $(SENDMAIL_DIR) smtp imap imap4 $(NNTP_DIR) local $(IMAPP_DIR) groupwise hula
+SUBDIRS = pop3 $(SENDMAIL_DIR) smtp imap $(NNTP_DIR) local $(IMAPP_DIR) groupwise hula
++++++ keyring-integration.patch ++++++
--- /var/tmp/diff_new_pack.uk65Ex/_old 2006-04-24 17:29:56.000000000 +0200
+++ /var/tmp/diff_new_pack.uk65Ex/_new 2006-04-24 17:29:56.000000000 +0200
@@ -134,7 +134,7 @@
static gboolean
free_entry (gpointer key, gpointer value, gpointer user_data)
-@@ -210,6 +260,51 @@ free_entry (gpointer key, gpointer value
+@@ -210,6 +260,52 @@ free_entry (gpointer key, gpointer value
return TRUE;
}
@@ -181,6 +181,7 @@
+
+ if (!msg->noreply)
+ e_msgport_reply(&msg->msg);
++ return;
+}
+#else
static void
@@ -328,7 +329,7 @@
static void
ep_forget_password (EPassMsg *msg)
{
-@@ -308,7 +523,63 @@ ep_forget_password (EPassMsg *msg)
+@@ -308,7 +523,64 @@ ep_forget_password (EPassMsg *msg)
if (!msg->noreply)
e_msgport_reply(&msg->msg);
}
@@ -387,6 +388,7 @@
+
+ if (!msg->noreply)
+ e_msgport_reply(&msg->msg);
++ return;
+}
+#else
static void
++++++ nameselectorlist-keychange.diff ++++++
Index: libedataserverui/e-name-selector-list.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserverui/e-name-selector-list.c,v
retrieving revision 1.1
diff -u -p -r1.1 e-name-selector-list.c
--- libedataserverui/e-name-selector-list.c 16 Jan 2006 13:32:30 -0000 1.1
+++ libedataserverui/e-name-selector-list.c 24 Apr 2006 08:31:57 -0000
@@ -216,7 +216,7 @@ enl_entry_key_press_event (ENameSelector
GdkEventKey *event,
gpointer dummy)
{
- if ( (event->state & GDK_CONTROL_MASK) && (event->keyval == GDK_Right)) {
+ if ( (event->state & GDK_CONTROL_MASK) && (event->keyval == GDK_Down)) {
enl_popup_position (list);
gtk_widget_show_all (GTK_WIDGET (list->popup));
enl_popup_grab (list);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...