[arch-commits] Commit in kdepim/trunk (5 files)

Pierre Schmitz pierre at archlinux.org
Wed Jul 23 19:48:26 EDT 2008


    Date: Wednesday, July 23, 2008 @ 19:48:26
  Author: pierre
Revision: 6155

upgpkg: kdepim 4.1.0-1
    updating to 4.1.0

Modified:
  kdepim/trunk/PKGBUILD
Deleted:
  kdepim/trunk/post-3.5.9.patch
  kdepim/trunk/post-kde-3.5.5.patch
  kdepim/trunk/post-kde-3.5.6.patch
  kdepim/trunk/timezone-update.diff.bz2

----------------------+
 PKGBUILD             |   60 ++----
 post-3.5.9.patch     |   75 --------
 post-kde-3.5.5.patch |  442 -------------------------------------------------
 post-kde-3.5.6.patch |  143 ---------------
 4 files changed, 22 insertions(+), 698 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2008-07-23 23:45:20 UTC (rev 6154)
+++ PKGBUILD	2008-07-23 23:48:26 UTC (rev 6155)
@@ -1,43 +1,27 @@
-# $Id$
-# Maintainer: Tobias Powalowski <tpowa at archlinux.org>
+# $ Id: $
+# Maintainer: Pierre Schmitz <pierre at archlinux.de>
 
 pkgname=kdepim
-pkgver=3.5.9
-kdever=3.5.9
-pkgrel=3
-pkgdesc="KDE PIM Utilities."
-arch=(i686 x86_64)
-url="http://www.kde.org"
-license=('GPL')
+pkgver=4.1.0
+pkgrel=1
+pkgdesc="KDE Personal Information Management suite"
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
 groups=('kde')
-depends=('kdelibs>=3.5.9' 'kdebase>=3.5.9' 'gpgme' 'gnokii>=0.6.14' 'libmal>=0.42' 'cyrus-sasl-plugins' 'libxss' 'libopensync=0.22')
-#makedepends=('pilot-link' 'gnokii' 'libmal')
+depends=('kdepimlibs' 'gnokii' 'libxss')
+makedepends=('pkgconfig' 'cmake' 'automoc4')
+options=('docs')
+source=("ftp://ftp.archlinux.org/other/kde/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('5bd7b9998495d3916b259f1f69e1ef1e')
 
-# for easier build, just uncomment the mirror you want to use
-  mirror="ftp.solnet.ch/mirror/KDE"         # updated every 2 hours, very fast for Europe
-# mirror="ftp.kde.org/pub/kde/"             # main server
-# mirror="ibiblio.org/pub/mirrors/kde/"     # ibiblio mirror
-source=(ftp://$mirror/stable/$kdever/src/$pkgname-$pkgver.tar.bz2 \
-	post-3.5.9.patch) 
-# latest opensync support
-# svn co svn://anonsvn.kde.org/home/kde/branches/work/kitchensync-OpenSync0.30API kitchensync
-# ftp://ftp.archlinux.org/other/kdepim/kitchensync-update.tar.bz2
-#  cp -rf ../kitchensync ./ || return 1
-#  make -f admin/Makefile.common || return 1
-
 build() {
-  # Source the QT and KDE profile
-  [ -z "${QTDIR}" ] && source /etc/profile.d/qt3.sh 
-  [ -z "${KDEDIR}" ] && source /etc/profile.d/kde.sh
-  # start building
-  cd $startdir/src/$pkgname-$pkgver
-  # fix compiling
-  patch -Np4 -i ../post-3.5.9.patch || return 1
-  ./configure --prefix=/opt/kde --disable-debug --disable-dependency-tracking \
-  --enable-gcc-hidden-visibility --enable-final
-  #        --enable-final # remove this if you build with < 512mb ram.
-  make || return 1
-  make DESTDIR=$startdir/pkg install || return 1
-}
-md5sums=('ba27b06599556c572a26f03608471ee2'
-         '6e85b1aa4083104281aa50bb0257d4ba')
+	cd $srcdir
+	mkdir build
+	cd build
+	cmake ../${pkgname}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+	make DESTDIR=$pkgdir install
+}
\ No newline at end of file

Deleted: post-3.5.9.patch
===================================================================
--- post-3.5.9.patch	2008-07-23 23:45:20 UTC (rev 6154)
+++ post-3.5.9.patch	2008-07-23 23:48:26 UTC (rev 6155)
@@ -1,75 +0,0 @@
---- branches/KDE/3.5/kdepim/certmanager/lib/cryptplug.h	2005/07/26 18:54:59	438982
-+++ branches/KDE/3.5/kdepim/certmanager/lib/cryptplug.h	2008/02/21 19:15:38	777849
-@@ -408,7 +408,7 @@
-    \note This function <b>must</b> be implemented by each plug-in using
-    this API specification.
- */
--bool hasFeature( Feature );
-+bool hasFeature( ::Feature );
- 
- /*! \ingroup groupSignCryptAct
-    \brief Information record returned by signing and by encrypting
---- branches/KDE/3.5/kdepim/certmanager/lib/cryptplugwrapper.h	2008/01/25 17:28:51	766368
-+++ branches/KDE/3.5/kdepim/certmanager/lib/cryptplugwrapper.h	2008/02/21 19:15:38	777849
-@@ -718,7 +718,7 @@
- 
-         \return  whether the relative feature is implemented or not
-     */
--    bool hasFeature( Feature );
-+    bool hasFeature( ::Feature );
- 
- 
-     /* \ingroup groupSignAct
- 
---- branches/KDE/3.5/kdepim/korganizer/kodaymatrix.cpp	2006/06/09 16:31:27	549733
-+++ branches/KDE/3.5/kdepim/korganizer/kodaymatrix.cpp	2008/02/24 14:14:09	778744
-@@ -54,6 +54,7 @@
- #include <qcursor.h>
- #include <kpopupmenu.h>
- #include <X11/Xlib.h>
-+#undef FocusIn
- #undef KeyPress
- #undef None
- #undef Status
---- branches/KDE/3.5/kdepim/kdgantt/KDGanttViewTaskItem.h	2005/07/26 18:54:59	438982
-+++ branches/KDE/3.5/kdepim/kdgantt/KDGanttViewTaskItem.h	2008/02/24 13:32:04	778732
-@@ -60,8 +60,10 @@
-     void setStartTime( const QDateTime& start );
-     void setEndTime( const QDateTime& end );
- 
--private:
-+protected:
-     void showItem( bool show = true, int coordY = 0 );
-+
-+private:
-     void initItem();
-     void hideMe();
-     QBrush myBrush, undefinedBrush;
---- branches/KDE/3.5/kdepim/korganizer/timelineitem.cpp	2008/02/23 16:28:17	778447
-+++ branches/KDE/3.5/kdepim/korganizer/timelineitem.cpp	2008/02/23 16:32:02	778448
-@@ -119,13 +119,13 @@
-     y = coordY;
-   else
-     y = getCoordY();
--  int startX = myGanttView->myTimeHeader->getCoordX(myStartTime);
--  int endX = myGanttView->myTimeHeader->getCoordX(myEndTime);
-+  int startX = myGanttView->timeHeaderWidget()->getCoordX(myStartTime);
-+  int endX = myGanttView->timeHeaderWidget()->getCoordX(myEndTime);
- 
-   const int mw = QMAX( 1, QMIN( 4, endX - startX ) );
-   if ( !mLeft || mw != mMarkerWidth ) {
-     if ( !mLeft ) {
--      mLeft = new KDCanvasPolygon( myGanttView->myTimeTable, this, Type_is_KDGanttViewItem );
-+      mLeft = new KDCanvasPolygon( myGanttView->timeTableWidget(), this, Type_is_KDGanttViewItem );
-       mLeft->setBrush( Qt::black );
-     }
-     QPointArray a = QPointArray( 4 );
-@@ -137,7 +137,7 @@
-   }
-   if ( !mRight || mw != mMarkerWidth ) {
-     if ( !mRight ) {
--      mRight = new KDCanvasPolygon( myGanttView->myTimeTable, this, Type_is_KDGanttViewItem );
-+      mRight = new KDCanvasPolygon( myGanttView->timeTableWidget(), this, Type_is_KDGanttViewItem );
-       mRight->setBrush( Qt::black );
-     }
-     QPointArray a = QPointArray( 4 );

Deleted: post-kde-3.5.5.patch
===================================================================
--- post-kde-3.5.5.patch	2008-07-23 23:45:20 UTC (rev 6154)
+++ post-kde-3.5.5.patch	2008-07-23 23:48:26 UTC (rev 6155)
@@ -1,442 +0,0 @@
-Index: Makefile.am
-===================================================================
---- korganizer/Makefile.am	(revision 593026)
-+++ korganizer/Makefile.am	(working copy)
-@@ -171,7 +171,7 @@ messages: rc.cpp
- 	$(XGETTEXT) `find . -name "*.cpp" -o -name "*.h"` -o $(podir)/korganizer.pot
- 	rm -f tips.cpp
- 
--xdg_apps_DATA = korganizer.desktop
-+xdg_apps_DATA = korganizer.desktop korganizer-import.desktop
- 
- kde_kcfg_DATA = korganizer.kcfg
- 
-Index: korganizer.desktop
-===================================================================
---- korganizer/korganizer.desktop	(revision 593026)
-+++ korganizer/korganizer.desktop	(working copy)
-@@ -1,6 +1,5 @@
- [Desktop Entry]
- Encoding=UTF-8
--MimeType=text/calendar;text/x-vcalendar;
- Comment=Calendar and Scheduling Program
- Comment[af]=Kalender en Skedulering Program
- Comment[ar]=برنامج الجدولة والتقويم
-@@ -61,7 +60,7 @@ Comment[xh]=Ikhalenda no Dweliso lwenkqu
- Comment[zh_CN]=日历和日程安排程序
- Comment[zh_TW]=行事曆與排程軟體
- Comment[zu]=Ikhalenda kanye Neprogramu Yokugcina isikhathi
--Exec=korganizer --import %u
-+Exec=korganizer
- Icon=korganizer
- Path=
- DocPath=korganizer/index.html
-Index: korganizer-import.desktop
-===================================================================
---- korganizer/korganizer-import.desktop	(revision 0)
-+++ korganizer/korganizer-import.desktop	(revision 0)
-@@ -0,0 +1,138 @@
-+[Desktop Entry]
-+Encoding=UTF-8
-+MimeType=text/calendar;text/x-vcalendar;
-+Comment=Calendar and Scheduling Program
-+Comment[af]=Kalender en Skedulering Program
-+Comment[ar]=برنامج الجدولة والتقويم
-+Comment[bg]=Програма за календар и разписание
-+Comment[bs]=Kalendar i rokovnik
-+Comment[ca]=Un programa de calendari i planificació
-+Comment[cs]=Kalendářový a plánovací program
-+Comment[cy]=Rhaglen Galendr a Drefnlennu
-+Comment[da]=Kalender- og planlægningsprogram
-+Comment[de]=Ein Kalender und Zeitplaner
-+Comment[el]=Πρόγραμμα ημερολογίου και προγραμματισμού
-+Comment[eo]=Kalendara kaj plana programo
-+Comment[es]=Calendario y planificador
-+Comment[et]=Kalendri ja ajakava haldamise rakendus
-+Comment[eu]=Egutegi eta antolaketa progrmaa
-+Comment[fa]=تقویم و برنامۀ زمان‌بندی
-+Comment[fi]=Kalenteri ja ajanhallintaohjelma
-+Comment[fr]=Calendrier et agenda personnel
-+Comment[gl]=Programa de Calendario e Axenda
-+Comment[he]=תוכניות לוח שנה ותזמון משימות
-+Comment[hi]=कैलेन्डर तथा समय-सारणी प्रोग्राम
-+Comment[hr]=Kalendar i rokovnik
-+Comment[hu]=Határidőnapló és eseményszervező
-+Comment[is]=Dagbók og skipulag
-+Comment[it]=Programma di calendario e di agenda
-+Comment[ja]=カレンダーとスケジュール管理プログラム
-+Comment[km]=កម្មវិធី​ប្រតិទិន និង កាលវិភាគ
-+Comment[lt]=Kalendoriaus ir planavimo programa
-+Comment[lv]=Kalendāra un Plānošanas Programma
-+Comment[mk]=Календар и роковник
-+Comment[ms]=Kalendar dan Program Penjadualan 
-+Comment[mt]=Programm b' kalendarju w skeda
-+Comment[nb]=Et kalender- og tidsplanleggingsprogram
-+Comment[nds]=Kalenner un Tietplaner
-+Comment[nl]=Agenda- en afsprakenprogramma
-+Comment[nn]=Kalender- og planleggingsprogram
-+Comment[nso]=Lenaneo la Peakanyo ya Tshupamabaka
-+Comment[pl]=Kalendarz i terminarz
-+Comment[pt]=Calendário e Programa de Escalonamento
-+Comment[pt_BR]=Programa de Calendário e Agenda
-+Comment[ro]=Program de planificare ÅŸi calendar
-+Comment[ru]=Календарь и личное расписание
-+Comment[se]=Kaleandar- ja plánenprográmma
-+Comment[sk]=Kalendár a plánovací program
-+Comment[sl]=Program za koledar in razporejanje
-+Comment[sr]=Календарски и планерски програм
-+Comment[sr at Latn]=Kalendarski i planerski program
-+Comment[sv]=Kalender- och schemaläggningsprogram
-+Comment[ta]=நாள்காட்டி மற்றும் திட்ட நிரல்
-+Comment[tg]=Тақвимот ва ҷадвали шахсӣ
-+Comment[th]=โปรแกรมจัดการปฏิทินและตารางการนัดหมาย
-+Comment[tr]=Takvim ve Zamanlama Programı
-+Comment[uk]=Програма календаря та розкладу
-+Comment[uz]=Календар ва режалаштириш дастури
-+Comment[ven]=Khalenda na mbekanyamushumo ya u shedula
-+Comment[vi]=Chương trình lịch và kế hoạch
-+Comment[xh]=Ikhalenda no Dweliso lwenkqubo Yokucwangcisa
-+Comment[zh_CN]=日历和日程安排程序
-+Comment[zh_TW]=行事曆與排程軟體
-+Comment[zu]=Ikhalenda kanye Neprogramu Yokugcina isikhathi
-+Exec=korganizer --import %u
-+Icon=korganizer
-+Path=
-+DocPath=korganizer/index.html
-+Type=Application
-+Terminal=false
-+Name=KOrganizer
-+Name[af]=Korganizer
-+Name[ar]=منظم كيدي
-+Name[be]=K Арганізатар
-+Name[cy]=KTrefnydd
-+Name[eo]=Organizilo
-+Name[hi]=के-आर्गेनाइज़र
-+Name[lv]=KOrganaizers
-+Name[mk]=Организатор
-+Name[nso]=KMokopanyi
-+Name[pl]=Organizator
-+Name[sv]=Korganizer
-+Name[ta]=கேஅமைப்பாளர்
-+Name[ven]=Mulugisi wa K
-+Name[zh_TW]=KOrganizer 行事曆
-+GenericName=Personal Organizer
-+GenericName[be]=Пэрсанальны арганізатар
-+GenericName[bg]=Организатор
-+GenericName[bs]=Lični organizer
-+GenericName[ca]=Organitzador personal
-+GenericName[cs]=Osobní organizér
-+GenericName[cy]=Trefnydd Personol
-+GenericName[da]=Personlig organisering
-+GenericName[de]=Persönliche Daten organisieren
-+GenericName[el]=Προσωπικός οργανωτής
-+GenericName[en_GB]=Personal Organiser
-+GenericName[es]=Organizador personal
-+GenericName[et]=Personaalne ajaarvestus
-+GenericName[eu]=Antolatzaile pertsonala
-+GenericName[fa]=سازمان‌دهندۀ شخصی‌
-+GenericName[fi]=Henkilökohtainen ajanhallintaohjelma
-+GenericName[fr]=Organiseur personnel
-+GenericName[gl]=Organizador Persoal
-+GenericName[he]=מנהל זמן אישי
-+GenericName[hi]=निजी प्रबंधक
-+GenericName[hu]=Határidőnapló
-+GenericName[is]=Persónuleg skipulagsbók
-+GenericName[it]=Organizzatore personale
-+GenericName[ja]=個人向けスケジュール管理
-+GenericName[km]=កម្មវិធី​រៀបចំ​ផ្ទាល់​ខ្លួន
-+GenericName[lt]=AsmeninÄ—s informacijos tvarkyklÄ—
-+GenericName[ms]=Penyusun Peribadi
-+GenericName[nb]=Personlig planlegger
-+GenericName[nds]=Persöönlich Mötenkalenner
-+GenericName[nl]=Persoonlijke organizer
-+GenericName[nn]=Personleg organiserar
-+GenericName[pl]=Osobisty organizator
-+GenericName[pt]=Organizador Pessoal
-+GenericName[pt_BR]=Organizador Pessoal
-+GenericName[ro]=Organizator personal
-+GenericName[ru]=Персональный органайзер
-+GenericName[sk]=Osobný plánovač
-+GenericName[sl]=Osebni organizator
-+GenericName[sr]=Лични планер
-+GenericName[sr at Latn]=Lični planer
-+GenericName[sv]=Filofax
-+GenericName[ta]=தனிப்பயன் அமைப்பாளர்
-+GenericName[tg]=Органайзери инфиродӣ
-+GenericName[tr]=Kişisel Bilgi Yöneticisi
-+GenericName[uk]=Персональний тижневик
-+GenericName[uz]=Шахсий органайзер
-+GenericName[zh_CN]=个人日程安排
-+GenericName[zh_TW]=個人行程組織軟體
-+ServiceTypes=Browser/View,DCOP/Organizer
-+X-KDE-Library=libkorganizerpart
-+X-KDE-StartupNotify=true
-+X-DCOP-ServiceType=Unique
-+X-DCOP-ServiceName=korganizer
-+Hidden=true
---- kmail/kmfoldercachedimap.cpp	2006/08/14 10:07:38	572899
-+++ kmail/kmfoldercachedimap.cpp	2006/10/22 19:56:30	598190
-@@ -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 );
-+#if 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 {
-+#if 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 );
-+#if 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 );
-+#if 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;
-+#if 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;
-+#if 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 ) {
---- kmail/kmfoldercachedimap.h	2005/09/29 22:46:35	465494
-+++ kmail/kmfoldercachedimap.h	2006/10/21 09:34:00	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;
- 
-

Deleted: post-kde-3.5.6.patch
===================================================================
--- post-kde-3.5.6.patch	2008-07-23 23:45:20 UTC (rev 6154)
+++ post-kde-3.5.6.patch	2008-07-23 23:48:26 UTC (rev 6155)
@@ -1,143 +0,0 @@
-Index: kmfolder.cpp
-===================================================================
---- branches/KDE/3.5/kdepim/kmail/kmfolder.cpp	(revision 627528)
-+++ branches/KDE/3.5/kdepim/kmail/kmfolder.cpp	(working copy)
-@@ -426,12 +426,12 @@ int KMFolder::moveMsg(QPtrList<KMMessage
- 
- int KMFolder::find( const KMMsgBase* msg ) const
- {
--  return mStorage->find( msg );
-+  return mStorage ? mStorage->find( msg ) : 0;
- }
- 
- int KMFolder::find( const KMMessage* msg ) const
- {
--  return mStorage->find( msg );
-+  return mStorage ? mStorage->find( msg ) : 0;
- }
- 
- int KMFolder::count( bool cache ) const
---- branches/KDE/3.5/kdepim/kmail/kmfolder.cpp	2006/10/28 17:04:18	599816
-+++ branches/KDE/3.5/kdepim/kmail/kmfolder.cpp	2007/01/27 00:32:53	627548
-@@ -631,11 +631,13 @@
-         mWhoField = "From";
-       if ( this == kmkernel->outboxFolder() ||
-            this == kmkernel->sentFolder() ||
--           this == kmkernel->draftsFolder() )
-+           this == kmkernel->draftsFolder() ||
-+           this == kmkernel->templatesFolder() )
-         mWhoField = "To";
--    } else if ( identity.drafts() == idString()
--                || identity.fcc() == idString() )
--      // drafts or sent of the identity
-+    } else if ( identity.drafts() == idString() ||
-+                identity.templates() == idString() ||
-+                identity.fcc() == idString() )
-+      // drafts, templates or sent of the identity
-       mWhoField = "To";
-     else
-       mWhoField = "From";
---- branches/KDE/3.5/kdepim/kresources/groupwise/soap/stdsoap2.h #629329:629330
-+++ branches/KDE/3.5/kdepim/kresources/groupwise/soap/stdsoap2.h
-@@ -507,7 +507,9 @@
- # endif
- #endif
- 
-+#ifdef I_KNOW_WHAT_IM_DOING
- #define DEBUG  /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and messages (in file TEST.log) */
-+#endif
- 
- #ifdef __cplusplus
- extern "C" {
---- branches/KDE/3.5/kdepim/kioslaves/imap4/mimeheader.cc	2005/07/26 18:54:59	438982
-+++ branches/KDE/3.5/kdepim/kioslaves/imap4/mimeheader.cc	2007/03/28 21:58:46	647617
-@@ -339,35 +339,47 @@
-     {
-       val = rfcDecoder::encodeRFC2231String (aValue);
-     }
-+    //kdDebug(7116) << "mimeHeader::setParameter() - val = '" << val << "'" << endl;
-     //see if it needs to be truncated
-     vlen = val.length();
-     llen = aLabel.length();
--    if (vlen + llen + 4 > 80 && llen < 80 - 8 )
-+    if (vlen + llen + 4 > 80 && llen < 80 - 8 - 2 )
-     {
--      int limit = 80 - 8 - (int)llen;
-+      const int limit = 80 - 8 - 2 - (int)llen;
-+      // the -2 is there to allow extending the length of a part of val
-+      // by 1 or 2 in order to prevent an encoded character from being
-+      // split in half
-       int i = 0;
-       QString shortValue;
-       QCString shortLabel;
- 
-       while (!val.isEmpty ())
-       {
--        //don't truncate the encoded chars
--        int offset = 0;
--        if (limit > int(vlen))
--          limit = vlen;
--        offset = val.findRev ('%', limit);
--        if (offset == limit - 1 || offset == limit - 2)
--        {
--//          cout << "offset " << offset << "-" << limit << "=" << limit-offset << endl;
--          offset = limit - offset;
-+        int partLen; // the length of the next part of the value
-+        if ( limit >= int(vlen) ) {
-+          // the rest of the value fits completely into one continued header
-+          partLen = vlen;
-+        }
-+        else {
-+          partLen = limit;
-+          // make sure that we don't split an encoded char in half
-+          if ( val[partLen-1] == '%' ) {
-+            partLen += 2;
-+          }
-+          else if ( partLen > 1 && val[partLen-2] == '%' ) {
-+            partLen += 1;
-+          }
-+          // make sure partLen does not exceed vlen (could happen in case of
-+          // an incomplete encoded char)
-+          if ( partLen > int(vlen) ) {
-+            partLen = vlen;
-+          }
-         }
--        else
--          offset = 0;
--        shortValue = val.left (limit - offset);
-+        shortValue = val.left( partLen );
-         shortLabel.setNum (i);
-         shortLabel = aLabel + "*" + shortLabel;
--        val = val.right (vlen - limit + offset);
--        vlen = vlen - limit + offset;
-+        val = val.right( vlen - partLen );
-+        vlen = vlen - partLen;
-         if (encoded)
-         {
-           if (i == 0)
-@@ -376,7 +388,9 @@
-           }
-           shortLabel += "*";
-         }
--//        cout << shortLabel << "-" << shortValue << endl;
-+        //kdDebug(7116) << "mimeHeader::setParameter() - shortLabel = '" << shortLabel << "'" << endl;
-+        //kdDebug(7116) << "mimeHeader::setParameter() - shortValue = '" << shortValue << "'" << endl;
-+        //kdDebug(7116) << "mimeHeader::setParameter() - val        = '" << val << "'" << endl;
-         aDict->insert (shortLabel, new QString (shortValue));
-         i++;
-       }
-Index: kmaccount.cpp
-===================================================================
---- branches/KDE/3.5/kdepim/kmail/kmaccount.cpp	(revision 656120)
-+++ branches/KDE/3.5/kdepim/kmail/kmaccount.cpp	(working copy)
-@@ -399,7 +399,9 @@ QString KMAccount::encryptStr(const QStr
- {
-   QString result;
-   for (uint i = 0; i < aStr.length(); i++)
--    result += (aStr[i].unicode() < 0x20) ? aStr[i] :
-+    /* yes, no typo. can't encode ' ' or '!' because
-+       they're the unicode BOM. stupid scrambling. stupid. */
-+    result += (aStr[i].unicode() <= 0x21 ) ? aStr[i] :
-       QChar(0x1001F - aStr[i].unicode());
-   return result;
- }

Deleted: timezone-update.diff.bz2
===================================================================
(Binary files differ)





More information about the arch-commits mailing list