summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-11-07 00:30:50 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-11-07 00:30:50 +0000
commit1d1b0bc3ccb8a7a0d781167e9d5a206983cf0601 (patch)
tree9c8a168951bd6625e65dda31e3d2e87d4de2e59a /kde-base/kdepim
parentVersion bump. (diff)
downloadhistorical-1d1b0bc3ccb8a7a0d781167e9d5a206983cf0601.tar.gz
historical-1d1b0bc3ccb8a7a0d781167e9d5a206983cf0601.tar.bz2
historical-1d1b0bc3ccb8a7a0d781167e9d5a206983cf0601.zip
Add patch to fix downloaded imap mail loss. Hide the KOrganizer import desktop file so that it does not appear on Lost & Found menu.
Package-Manager: portage-2.1.2_rc1-r4
Diffstat (limited to 'kde-base/kdepim')
-rw-r--r--kde-base/kdepim/ChangeLog10
-rw-r--r--kde-base/kdepim/Manifest33
-rw-r--r--kde-base/kdepim/files/digest-kdepim-3.5.5-r26
-rw-r--r--kde-base/kdepim/files/kmail-3.5.5-dimap-mail-loss.patch269
-rw-r--r--kde-base/kdepim/files/korganizer-3.5.5-desktop.patch3
-rw-r--r--kde-base/kdepim/kdepim-3.5.5-r2.ebuild44
6 files changed, 352 insertions, 13 deletions
diff --git a/kde-base/kdepim/ChangeLog b/kde-base/kdepim/ChangeLog
index bd95943de402..ca70bd946182 100644
--- a/kde-base/kdepim/ChangeLog
+++ b/kde-base/kdepim/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for kde-base/kdepim
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepim/ChangeLog,v 1.225 2006/10/17 09:43:25 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepim/ChangeLog,v 1.226 2006/11/07 00:30:50 flameeyes Exp $
+
+*kdepim-3.5.5-r2 (07 Nov 2006)
+
+ 07 Nov 2006; Diego Pettenò <flameeyes@gentoo.org>
+ files/korganizer-3.5.5-desktop.patch,
+ +files/kmail-3.5.5-dimap-mail-loss.patch, +kdepim-3.5.5-r2.ebuild:
+ Add patch to fix downloaded imap mail loss. Hide the KOrganizer import
+ desktop file so that it does not appear on Lost & Found menu.
17 Oct 2006; Diego Pettenò <flameeyes@gentoo.org> kdepim-3.5.2-r2.ebuild,
kdepim-3.5.2-r3.ebuild, kdepim-3.5.2-r4.ebuild, kdepim-3.5.3.ebuild,
diff --git a/kde-base/kdepim/Manifest b/kde-base/kdepim/Manifest
index 755f67c423b6..cf03fc9e4aef 100644
--- a/kde-base/kdepim/Manifest
+++ b/kde-base/kdepim/Manifest
@@ -45,10 +45,14 @@ AUX kmail-3.5.2-misc-fixes-2.diff 13036 RMD160 8b193b7892b6ba4f30e35e16ff783600c
MD5 e752e166fd636a23e5e89559f2f99d57 files/kmail-3.5.2-misc-fixes-2.diff 13036
RMD160 8b193b7892b6ba4f30e35e16ff783600c5feeae0 files/kmail-3.5.2-misc-fixes-2.diff 13036
SHA256 69f4fbff3eee6a2a8f7028b782430b6863c5cbd7ca5087460bd98d80c45e7ab2 files/kmail-3.5.2-misc-fixes-2.diff 13036
-AUX korganizer-3.5.5-desktop.patch 7604 RMD160 fcd2d69220ed30857cd686f83d80bdc632facdb9 SHA1 d4d49b3f63c195a35e2d9e0f40ae7221b684ca02 SHA256 415b6505400679a6ae387ab843eb7dc130bce0967eccdd4b1fb83701b1a5ad37
-MD5 a21b2d1f25bb60604c28beb9e39d8e1b files/korganizer-3.5.5-desktop.patch 7604
-RMD160 fcd2d69220ed30857cd686f83d80bdc632facdb9 files/korganizer-3.5.5-desktop.patch 7604
-SHA256 415b6505400679a6ae387ab843eb7dc130bce0967eccdd4b1fb83701b1a5ad37 files/korganizer-3.5.5-desktop.patch 7604
+AUX kmail-3.5.5-dimap-mail-loss.patch 10075 RMD160 7de6fd6e28d4a1a4ecbffe174d7b1d3f96fb7155 SHA1 1957b99aaa114f647d24c5943ecb3d3fae3382e6 SHA256 411e984a2b0eb079351b1f3c28ae0c72b4360449b743b559fecad074bf869fb2
+MD5 defcf09940f42413c805da114fa06dd4 files/kmail-3.5.5-dimap-mail-loss.patch 10075
+RMD160 7de6fd6e28d4a1a4ecbffe174d7b1d3f96fb7155 files/kmail-3.5.5-dimap-mail-loss.patch 10075
+SHA256 411e984a2b0eb079351b1f3c28ae0c72b4360449b743b559fecad074bf869fb2 files/kmail-3.5.5-dimap-mail-loss.patch 10075
+AUX korganizer-3.5.5-desktop.patch 7617 RMD160 7c9df08009a11bb1d4886c175754dbe99651b4ca SHA1 e2e57cae2a642adb495d4b7ab3102e34e99d6549 SHA256 e0cf3744a797f568bcbc4ae2fb9003a27fc13cf235cbd36be9212513354da82e
+MD5 167b5ec68f258ca3d8c2aab1f083ea81 files/korganizer-3.5.5-desktop.patch 7617
+RMD160 7c9df08009a11bb1d4886c175754dbe99651b4ca files/korganizer-3.5.5-desktop.patch 7617
+SHA256 e0cf3744a797f568bcbc4ae2fb9003a27fc13cf235cbd36be9212513354da82e files/korganizer-3.5.5-desktop.patch 7617
AUX libkcal-3.5.2-fixes.diff 1620 RMD160 3e915689d11700ac717ff265c5bb47e07f62ccc1 SHA1 fe13df742aa515d89399f84f9f6cd3d999927856 SHA256 74f09abc0133576508e0617f51b574201789ef60080500effbe6fd9bb97dea5b
MD5 f8cf5ed206715c532af984790df240c1 files/libkcal-3.5.2-fixes.diff 1620
RMD160 3e915689d11700ac717ff265c5bb47e07f62ccc1 files/libkcal-3.5.2-fixes.diff 1620
@@ -99,14 +103,18 @@ EBUILD kdepim-3.5.5-r1.ebuild 1276 RMD160 d1e5c6c57b2ccfca49efdfcfb49464c6107d14
MD5 cc822556093a016f6ae2d23cf43a2cae kdepim-3.5.5-r1.ebuild 1276
RMD160 d1e5c6c57b2ccfca49efdfcfb49464c6107d147b kdepim-3.5.5-r1.ebuild 1276
SHA256 129448cd97ea1adbacef2b48abc118686d31e24aa236074b1e2b78dfc837ddc1 kdepim-3.5.5-r1.ebuild 1276
+EBUILD kdepim-3.5.5-r2.ebuild 1325 RMD160 e55873bf223d0936edb22524e695d3d55b230670 SHA1 cb34f76cf2812d35b2e3cce07fac7582c43bc632 SHA256 a4851ecdc8e9f0092c77298e17e603c447ea48efac0ad2c04301330cff1e4302
+MD5 3d53376e886696aa94182985762975f3 kdepim-3.5.5-r2.ebuild 1325
+RMD160 e55873bf223d0936edb22524e695d3d55b230670 kdepim-3.5.5-r2.ebuild 1325
+SHA256 a4851ecdc8e9f0092c77298e17e603c447ea48efac0ad2c04301330cff1e4302 kdepim-3.5.5-r2.ebuild 1325
EBUILD kdepim-3.5.5.ebuild 1219 RMD160 5874248b4fe6e8cd16a10748d90f7c75dec9281a SHA1 3d50d6084f5839d3bcf9e01a514057e28bf71b8b SHA256 b2c9cec6016015f824e78928d614134058e380518a34999cbf5cec691bd3b496
MD5 9f145414c8cf8053071d1ec72458bd21 kdepim-3.5.5.ebuild 1219
RMD160 5874248b4fe6e8cd16a10748d90f7c75dec9281a kdepim-3.5.5.ebuild 1219
SHA256 b2c9cec6016015f824e78928d614134058e380518a34999cbf5cec691bd3b496 kdepim-3.5.5.ebuild 1219
-MISC ChangeLog 29931 RMD160 1c6467a934228ce9057b14eeff480aaa9e4487b5 SHA1 9e7ee90f0fa182f947eeb4a893537efb52b0c266 SHA256 0cffa4c1b31f76632ca8264781ff2f7b415bb8832e136b9c8b72d1a857243992
-MD5 dd6df8f942434cb482dd5c1632f3abfb ChangeLog 29931
-RMD160 1c6467a934228ce9057b14eeff480aaa9e4487b5 ChangeLog 29931
-SHA256 0cffa4c1b31f76632ca8264781ff2f7b415bb8832e136b9c8b72d1a857243992 ChangeLog 29931
+MISC ChangeLog 30263 RMD160 03aab1cb2f8c0f047bc17e2c705ce4d3b41ab941 SHA1 b0837483479c41e2a0c242bc6fd9603f00f327eb SHA256 e0fb0bd3a3aa238e748b86f52d86ba2d58afae5f619400fe262201ea0cf35235
+MD5 9bf00f2203a4091b65c4a72c77975ba4 ChangeLog 30263
+RMD160 03aab1cb2f8c0f047bc17e2c705ce4d3b41ab941 ChangeLog 30263
+SHA256 e0fb0bd3a3aa238e748b86f52d86ba2d58afae5f619400fe262201ea0cf35235 ChangeLog 30263
MISC metadata.xml 156 RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 SHA1 b64f7c0b4e5db816d82ad19848f72118af129d35 SHA256 2f4da28506b9d4185f320f67a6191d30c7a921217ed4447ed46ea0bc4aefc79a
MD5 acc03a4b12bb0433a57e95bd253b9501 metadata.xml 156
RMD160 ecce3b981f150c45ae1e84e2d208e678d6124259 metadata.xml 156
@@ -138,10 +146,13 @@ SHA256 ebffdd3be2555ec32588c07decab3d399ca0fcf3434b64d83ae8051e3f59eda1 files/di
MD5 939bf9063c2f05a9b84f772672c50bf3 files/digest-kdepim-3.5.5-r1 512
RMD160 d09ee629a4a4c699812d2f6a3b38281b25d64673 files/digest-kdepim-3.5.5-r1 512
SHA256 ebffdd3be2555ec32588c07decab3d399ca0fcf3434b64d83ae8051e3f59eda1 files/digest-kdepim-3.5.5-r1 512
+MD5 939bf9063c2f05a9b84f772672c50bf3 files/digest-kdepim-3.5.5-r2 512
+RMD160 d09ee629a4a4c699812d2f6a3b38281b25d64673 files/digest-kdepim-3.5.5-r2 512
+SHA256 ebffdd3be2555ec32588c07decab3d399ca0fcf3434b64d83ae8051e3f59eda1 files/digest-kdepim-3.5.5-r2 512
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
-iD8DBQFFNKXIAiZjviIA2XgRApFBAKCeyEzpQ76a/RWDZpgklnGfPZ5ftwCg2GMV
-dAEZbqmXwmdBDGaXPcqX4jk=
-=Ixnz
+iD8DBQFFT9PDAiZjviIA2XgRAhq/AJ9B379QjcMoxbQ4PVVzvbCTEbmi4QCeL6p7
+3y65cou0s0TAGViZE5Zl8Zw=
+=oIqW
-----END PGP SIGNATURE-----
diff --git a/kde-base/kdepim/files/digest-kdepim-3.5.5-r2 b/kde-base/kdepim/files/digest-kdepim-3.5.5-r2
new file mode 100644
index 000000000000..a9daf16c706e
--- /dev/null
+++ b/kde-base/kdepim/files/digest-kdepim-3.5.5-r2
@@ -0,0 +1,6 @@
+MD5 7c13008b1ca98351b461cac5dd183d9a kdepim-3.5-patchset-02.tar.bz2 4208
+RMD160 93e1e0c760278b233ff3d7096154168f6fbcf65a kdepim-3.5-patchset-02.tar.bz2 4208
+SHA256 8c91e5359e58710b5bc8e51b30058f41870a93bbda8b1a5fffc1af91a82128dd kdepim-3.5-patchset-02.tar.bz2 4208
+MD5 3f2127f74cb496899bb3f1f6f702353b kdepim-3.5.5.tar.bz2 12908968
+RMD160 5bdcf98909f450ce3839fa72a404571f6cde22f6 kdepim-3.5.5.tar.bz2 12908968
+SHA256 82887df2c2ff00cb60dcfb8aa04527988123b9a4ed70f4c9082a7a0eb9f1f047 kdepim-3.5.5.tar.bz2 12908968
diff --git a/kde-base/kdepim/files/kmail-3.5.5-dimap-mail-loss.patch b/kde-base/kdepim/files/kmail-3.5.5-dimap-mail-loss.patch
new file mode 100644
index 000000000000..3aad70855c32
--- /dev/null
+++ b/kde-base/kdepim/files/kmail-3.5.5-dimap-mail-loss.patch
@@ -0,0 +1,269 @@
+Index: kmail/kmfoldercachedimap.cpp
+===================================================================
+--- kmail/kmfoldercachedimap.cpp (revision 597658)
++++ kmail/kmfoldercachedimap.cpp (revision 597659)
+@@ -75,6 +75,7 @@
+ #include <globalsettings.h>
+
+ #define UIDCACHE_VERSION 1
++#define MAIL_LOSS_DEBUGGING 0
+
+ static QString incidencesForToString( KMFolderCachedImap::IncidencesFor r ) {
+ switch (r) {
+@@ -150,10 +151,22 @@
+ mFolderRemoved( false ),
+ /*mHoldSyncs( false ),*/ mRecurse( true ),
+ mStatusChangedLocally( false ), mAnnotationFolderTypeChanged( false ),
+- mIncidencesForChanged( false ), mPersonalNamespacesCheckDone( true )
++ mIncidencesForChanged( false ), mPersonalNamespacesCheckDone( true ),
++ mFoundAnIMAPDigest( false )
+ {
+ setUidValidity("");
+- readUidCache();
++ // if we fail to read a uid file but there is one, nuke it
++ if ( readUidCache() == -1 ) {
++ if ( QFile::exists( uidCacheLocation() ) ) {
++ KMessageBox::error( 0,
++ i18n( "The UID cache file for folder %1 could not be read. There "
++ "could be a problem with file system permission, or it is corrupted."
++ ).arg( folder->prettyURL() ) );
++ // try to unlink it, in case it was corruped. If it couldn't be read
++ // because of permissions, this will fail, which is fine
++ unlink( QFile::encodeName( uidCacheLocation() ) );
++ }
++ }
+
+ mProgress = 0;
+ }
+@@ -306,7 +319,7 @@
+ if( uidValidity().isEmpty() || uidValidity() == "INVALID" ) {
+ // No info from the server yet, remove the file.
+ if( QFile::exists( uidCacheLocation() ) )
+- unlink( QFile::encodeName( uidCacheLocation() ) );
++ return unlink( QFile::encodeName( uidCacheLocation() ) );
+ return 0;
+ }
+
+@@ -317,17 +330,23 @@
+ str << uidValidity() << endl;
+ str << lastUid() << endl;
+ uidcache.flush();
+- fsync( uidcache.handle() ); /* this is probably overkill */
+- uidcache.close();
+- return 0;
+- } else {
+- return errno; /* does QFile set errno? */
++ if ( uidcache.status() == IO_Ok ) {
++ fsync( uidcache.handle() ); /* this is probably overkill */
++ uidcache.close();
++ if ( uidcache.status() == IO_Ok )
++ return 0;
++ }
+ }
++ KMessageBox::error( 0,
++ i18n( "The UID cache file for folder %1 could not be written. There "
++ "could be a problem with file system permission." ).arg( folder()->prettyURL() ) );
++
++ return -1;
+ }
+
+ void KMFolderCachedImap::reloadUidMap()
+ {
+- kdDebug(5006) << "Reloading Uid Map " << endl;
++ //kdDebug(5006) << "Reloading Uid Map " << endl;
+ uidMap.clear();
+ open();
+ for( int i = 0; i < count(); ++i ) {
+@@ -448,7 +467,8 @@
+ {
+ killTimer( uidWriteTimer );
+ uidWriteTimer = -1;
+- writeUidCache();
++ if ( writeUidCache() == -1 )
++ unlink( QFile::encodeName( uidCacheLocation() ) );
+ }
+
+ ulong KMFolderCachedImap::lastUid()
+@@ -467,10 +487,22 @@
+ QMap<ulong,int>::Iterator it = uidMap.find( uid );
+ if( it != uidMap.end() ) {
+ KMMsgBase *msg = getMsgBase( *it );
++#ifdef MAIL_LOSS_DEBUGGING
++ kdDebug(5006) << "UID " << uid << " is supposed to be in the map" << endl;
++ kdDebug(5006) << "UID's index is to be " << *it << endl;
++ kdDebug(5006) << "There is a message there? " << (msg != 0) << endl;
++ if ( msg ) {
++ kdDebug(5006) << "Its UID is: " << msg->UID() << endl;
++ }
++#endif
++
+ if( msg && msg->UID() == uid )
+ return msg;
++ kdDebug(5006) << "########## Didn't find uid: " << uid << "in cache athough it's supposed to be there!" << endl;
+ } else {
++#ifdef MAIL_LOSS_DEBUGGING
+ kdDebug(5006) << "Didn't find uid: " << uid << "in cache!" << endl;
++#endif
+ }
+ // Not found by now
+ // if( mapReloaded )
+@@ -482,8 +514,10 @@
+ if( it != uidMap.end() )
+ // Since the uid map is just rebuilt, no need for the sanity check
+ return getMsgBase( *it );
++#ifdef MAIL_LOSS_DEBUGGING
+ else
+ kdDebug(5006) << "Reloaded, but stil didn't find uid: " << uid << endl;
++#endif
+ // Then it's not here
+ return 0;
+ }
+@@ -841,9 +875,14 @@
+ to be deleted on the server has been deleted, adjust our local notion of the
+ highes uid seen thus far. */
+ slotUpdateLastUid();
+- if( mLastUid == 0 && uidWriteTimer == -1 )
++ if( mLastUid == 0 && uidWriteTimer == -1 ) {
+ // This is probably a new and empty folder. Write the UID cache
+- writeUidCache();
++ if ( writeUidCache() == -1 ) {
++ resetSyncState();
++ emit folderComplete( this, false );
++ return;
++ }
++ }
+ }
+ }
+
+@@ -1209,9 +1248,10 @@
+ void KMFolderCachedImap::slotImapStatusChanged(KMFolder* folder, const QString&, bool cont)
+ {
+ if ( mSyncState == SYNC_STATE_INITIAL ){
+- kdDebug(5006) << "IMAP status changed but reset " << endl;
++ //kdDebug(5006) << "IMAP status changed but reset " << endl;
+ return; // we were reset
+ }
++ //kdDebug(5006) << "IMAP status changed for folder: " << folder->prettyURL() << endl;
+ if ( folder->storage() == this ) {
+ --mStatusFlagsJobs;
+ if ( mStatusFlagsJobs == 0 || !cont ) // done or aborting
+@@ -1220,6 +1260,7 @@
+ if ( mStatusFlagsJobs == 0 && cont ) {
+ mProgress += 5;
+ serverSyncInternal();
++ //kdDebug(5006) << "Proceeding with mailcheck." << endl;
+ }
+ }
+ }
+@@ -1288,15 +1329,24 @@
+ // them one by one because the index list can get resized under
+ // us. So use msg pointers instead
+
++ QStringList uids;
+ QMap<ulong,int>::const_iterator it = uidMap.constBegin();
+ for( ; it != uidMap.end(); it++ ) {
+ ulong uid ( it.key() );
+- if( uid!=0 && !uidsOnServer.find( uid ) )
++ if( uid!=0 && !uidsOnServer.find( uid ) ) {
++ uids << QString::number( uid );
+ msgsForDeletion.append( getMsg( *it ) );
++ }
+ }
+
+ if( !msgsForDeletion.isEmpty() ) {
+- removeMsg( msgsForDeletion );
++#ifdef MAIL_LOSS_DEBUGGING
++ if ( KMessageBox::warningYesNo(
++ 0, i18n( "<qt><p>Mails on the server in folder <b>%1</b> were deleted. "
++ "Do you want to delete them locally?<br>UIDs: %2</p></qt>" )
++ .arg( folder()->prettyURL() ).arg( uids.join(",") ) ) == KMessageBox::Yes )
++#endif
++ removeMsg( msgsForDeletion );
+ }
+
+ /* Delete messages from the server that we dont have anymore */
+@@ -1370,6 +1420,8 @@
+ uidsForDeletionOnServer.clear();
+ mMsgsForDownload.clear();
+ mUidsForDownload.clear();
++ // listing is only considered successful if saw a syntactically correct imapdigest
++ mFoundAnIMAPDigest = false;
+
+ CachedImapJob* job = new CachedImapJob( FolderJob::tListMessages, this );
+ connect( job, SIGNAL( result(KMail::FolderJob *) ),
+@@ -1415,6 +1467,7 @@
+ setReadOnly( access == "Read only" );
+ }
+ (*it).cdata.remove(0, pos);
++ mFoundAnIMAPDigest = true;
+ }
+ pos = (*it).cdata.find("\r\n--IMAPDIGEST", 1);
+ // Start with something largish when rebuilding the cache
+@@ -1432,7 +1485,7 @@
+ if( uid != 0 ) {
+ if ( uidsOnServer.count() == uidsOnServer.size() ) {
+ uidsOnServer.resize( KMail::nextPrime( uidsOnServer.size() * 2 ) );
+- kdDebug( 5006 ) << "Resizing to: " << uidsOnServer.size() << endl;
++ //kdDebug( 5006 ) << "Resizing to: " << uidsOnServer.size() << endl;
+ }
+ uidsOnServer.insert( uid, &v );
+ }
+@@ -1451,7 +1504,9 @@
+ KMMsgBase *existingMessage = findByUID(uid);
+ if( !existingMessage ) {
+ if ( mUserRights <= 0 || ( mUserRights & KMail::ACLJobs::Delete ) ) {
+- // kdDebug(5006) << "message with uid " << uid << " is gone from local cache. Must be deleted on server!!!" << endl;
++#ifdef MAIL_LOSS_DEBUGGING
++ kdDebug(5006) << "message with uid " << uid << " is gone from local cache. Must be deleted on server!!!" << endl;
++#endif
+ uidsForDeletionOnServer << uid;
+ } else {
+ redownload = true;
+@@ -1490,6 +1545,13 @@
+ void KMFolderCachedImap::getMessagesResult( KMail::FolderJob *job, bool lastSet )
+ {
+ mProgress += 10;
++ if ( !job->error() && !mFoundAnIMAPDigest ) {
++ kdWarning(5006) << "######## Folderlisting did not complete, but there was no error! "
++ "Aborting sync of folder: " << folder()->prettyURL() << endl;
++#ifdef MAIL_LOSS_DEBUGGING
++ kmkernel->emergencyExit( i18n("Folder listing failed in interesting ways." ) );
++#endif
++ }
+ if( job->error() ) { // error listing messages but the user chose to continue
+ mContentState = imapNoInformation;
+ mSyncState = SYNC_STATE_HANDLE_INBOX; // be sure not to continue in this folder
+@@ -1741,7 +1803,7 @@
+ KMFolderNode *node;
+ bool root = ( this == mAccount->rootFolder() );
+ if ( root && !mAccount->hasInbox() ) {
+- kdDebug(5006) << "check INBOX" << endl;
++ //kdDebug(5006) << "check INBOX" << endl;
+ // create the INBOX
+ for (node = folder()->child()->first(); node; node = folder()->child()->next())
+ if (!node->isDir() && node->name() == "INBOX") break;
+@@ -2216,7 +2278,7 @@
+ void
+ KMFolderCachedImap::slotAnnotationChanged( const QString& entry, const QString& attribute, const QString& value )
+ {
+- kdDebug(5006) << k_funcinfo << entry << " " << attribute << " " << value << endl;
++ //kdDebug(5006) << k_funcinfo << entry << " " << attribute << " " << value << endl;
+ if ( entry == KOLAB_FOLDERTYPE )
+ mAnnotationFolderTypeChanged = false;
+ else if ( entry == KOLAB_INCIDENCESFOR ) {
+Index: kmail/kmfoldercachedimap.h
+===================================================================
+--- kmail/kmfoldercachedimap.h (revision 597658)
++++ kmail/kmfoldercachedimap.h (revision 597659)
+@@ -445,6 +445,11 @@
+ mLastUid. See above for details. */
+ ulong mTentativeHighestUid;
+
++ /** Used to determine whether listing messages yielded a sensible result.
++ * Only then is the deletion o messages (which relies on succesful
++ * listing) attempted, during the sync. */
++ bool mFoundAnIMAPDigest;
++
+ int mUserRights;
+ ACLList mACLList;
+
diff --git a/kde-base/kdepim/files/korganizer-3.5.5-desktop.patch b/kde-base/kdepim/files/korganizer-3.5.5-desktop.patch
index 7bb5dea29da4..f031926da2d9 100644
--- a/kde-base/kdepim/files/korganizer-3.5.5-desktop.patch
+++ b/kde-base/kdepim/files/korganizer-3.5.5-desktop.patch
@@ -35,7 +35,7 @@ Index: korganizer-import.desktop
===================================================================
--- korganizer/korganizer-import.desktop (revision 0)
+++ korganizer/korganizer-import.desktop (revision 0)
-@@ -0,0 +1,137 @@
+@@ -0,0 +1,138 @@
+[Desktop Entry]
+Encoding=UTF-8
+MimeType=text/calendar;text/x-vcalendar;
@@ -173,3 +173,4 @@ Index: korganizer-import.desktop
+X-KDE-StartupNotify=true
+X-DCOP-ServiceType=Unique
+X-DCOP-ServiceName=korganizer
++Hidden=true
diff --git a/kde-base/kdepim/kdepim-3.5.5-r2.ebuild b/kde-base/kdepim/kdepim-3.5.5-r2.ebuild
new file mode 100644
index 000000000000..03c89915074c
--- /dev/null
+++ b/kde-base/kdepim/kdepim-3.5.5-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepim/kdepim-3.5.5-r2.ebuild,v 1.1 2006/11/07 00:30:50 flameeyes Exp $
+
+inherit kde-dist
+
+SRC_URI="${SRC_URI}
+ mirror://gentoo/kdepim-3.5-patchset-02.tar.bz2"
+
+DESCRIPTION="KDE PIM (Personal Information Management) apps: korganizer, kmail, knode..."
+
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="crypt gnokii pda"
+
+# We use GnuPG 1.4.x for OpenPGP and 1.9 (via gpgme) for s/mime as upstream advises.
+DEPEND="~kde-base/kdebase-${PV}
+ >=dev-libs/cyrus-sasl-2
+ pda? ( app-pda/pilot-link dev-libs/libmal )
+ gnokii? ( app-mobilephone/gnokii )
+ crypt? ( >=app-crypt/gpgme-1.1.2-r1
+ <app-crypt/gnupg-1.9 )
+ x11-libs/libXScrnSaver"
+
+RDEPEND="${DEPEND}
+ crypt? ( app-crypt/pinentry )"
+
+DEPEND="${DEPEND}
+ x11-proto/scrnsaverproto"
+
+PATCHES="${FILESDIR}/korganizer-${PV}-desktop.patch
+ ${FILESDIR}/kmail-${PV}-dimap-mail-loss.patch"
+
+src_unpack() {
+ kde_src_unpack
+ # Call Qt 3 designer
+ sed -i -e "s:\"designer\":\"${QTDIR}/bin/designer\":g" "${S}"/libkdepim/kcmdesignerfields.cpp || die "sed failed"
+}
+
+src_compile() {
+ local myconf="--with-sasl $(use_with gnokii)"
+ use crypt && myconf="${myconf} --with-gpg=${ROOT}/usr/bin/gpg"
+
+ kde_src_compile
+}