[arch-commits] Commit in kdepim/trunk (5 files)
Pierre Schmitz
pierre at archlinux.org
Wed Jul 23 23:48:26 UTC 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