summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2007-01-27 18:12:25 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2007-01-27 18:12:25 +0000
commit149c20728942e91dd37d144416c64114540bb1c0 (patch)
tree5bfbfa525a2e91da8af044688eb9e04ad04143a0 /kde-base
parentMarked ppc stable for bug #161796. (diff)
downloadgentoo-2-149c20728942e91dd37d144416c64114540bb1c0.tar.gz
gentoo-2-149c20728942e91dd37d144416c64114540bb1c0.tar.bz2
gentoo-2-149c20728942e91dd37d144416c64114540bb1c0.zip
Add two patches to fix serious issues coming from upstream. Remove stale patches.
(Portage version: 2.1.2-r4)
Diffstat (limited to 'kde-base')
-rw-r--r--kde-base/kmail/ChangeLog12
-rw-r--r--kde-base/kmail/files/digest-kmail-3.5.6-r13
-rw-r--r--kde-base/kmail/files/kdepim-3.4.2-partnode.patch20
-rw-r--r--kde-base/kmail/files/kmail-3.4.1-shift+click-crash.diff10
-rw-r--r--kde-base/kmail/files/kmail-3.5.2-imap-fixes.diff291
-rw-r--r--kde-base/kmail/files/kmail-3.5.6-kde-bug-140660.patch19
-rw-r--r--kde-base/kmail/files/kmail-3.5.6-templates.patch20
-rw-r--r--kde-base/kmail/kmail-3.5.6-r1.ebuild62
8 files changed, 115 insertions, 322 deletions
diff --git a/kde-base/kmail/ChangeLog b/kde-base/kmail/ChangeLog
index 4a1ee9c877e3..b5581599b1e9 100644
--- a/kde-base/kmail/ChangeLog
+++ b/kde-base/kmail/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for kde-base/kmail
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kmail/ChangeLog,v 1.96 2007/01/18 00:09:23 carlo Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kmail/ChangeLog,v 1.97 2007/01/27 18:12:25 flameeyes Exp $
+
+*kmail-3.5.6-r1 (27 Jan 2007)
+
+ 27 Jan 2007; Diego Pettenò <flameeyes@gentoo.org>
+ -files/kmail-3.4.1-shift+click-crash.diff,
+ -files/kdepim-3.4.2-partnode.patch, -files/kmail-3.5.2-imap-fixes.diff,
+ +files/kmail-3.5.6-kde-bug-140660.patch,
+ +files/kmail-3.5.6-templates.patch, +kmail-3.5.6-r1.ebuild:
+ Add two patches to fix serious issues coming from upstream. Remove stale
+ patches.
18 Jan 2007; Carsten Lohrke <carlo@gentoo.org> kmail-3.5.6.ebuild:
Update minimal needed versions.
diff --git a/kde-base/kmail/files/digest-kmail-3.5.6-r1 b/kde-base/kmail/files/digest-kmail-3.5.6-r1
new file mode 100644
index 000000000000..e3fe7ffb0da4
--- /dev/null
+++ b/kde-base/kmail/files/digest-kmail-3.5.6-r1
@@ -0,0 +1,3 @@
+MD5 e37e6173fe9fd7f242c9502a4ae1d7de kdepim-3.5.6.tar.bz2 13643798
+RMD160 85f64349d8eedb531895a3591f6fee07c68bf1eb kdepim-3.5.6.tar.bz2 13643798
+SHA256 0b3a04f72fa640d804df1c4cf2c66ac3ccc5033c98e90a7ae9c62611ea8e3a55 kdepim-3.5.6.tar.bz2 13643798
diff --git a/kde-base/kmail/files/kdepim-3.4.2-partnode.patch b/kde-base/kmail/files/kdepim-3.4.2-partnode.patch
deleted file mode 100644
index 98e55197db06..000000000000
--- a/kde-base/kmail/files/kdepim-3.4.2-partnode.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -Nur kdepim-3.4.2.orig/kmail/partNode.cpp kdepim-3.4.2/kmail/partNode.cpp
---- kdepim-3.4.2.orig/kmail/partNode.cpp 2005-05-23 14:11:54.000000000 +0200
-+++ kdepim-3.4.2/kmail/partNode.cpp 2005-08-02 12:05:32.000000000 +0200
-@@ -36,6 +36,7 @@
- #include "kmmimeparttree.h"
- #include <mimelib/utility.h>
- #include <qregexp.h>
-+#include <kasciistricmp.h>
-
- /*
- ===========================================================================
-@@ -414,7 +415,7 @@
- partNode* partNode::findNodeForDwPart( DwBodyPart* part )
- {
- partNode* found = 0;
-- if( dwPart()->partId() == part->partId() )
-+ if( kasciistricmp( dwPart()->partId(), part->partId() ) == 0 )
- return this;
- if( mChild )
- found = mChild->findNodeForDwPart( part );
diff --git a/kde-base/kmail/files/kmail-3.4.1-shift+click-crash.diff b/kde-base/kmail/files/kmail-3.4.1-shift+click-crash.diff
deleted file mode 100644
index caae8a4e5fa5..000000000000
--- a/kde-base/kmail/files/kmail-3.4.1-shift+click-crash.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- kmail/kmreaderwin.cpp.orig 2005-07-01 01:26:44.000000000 +0200
-+++ kmail/kmreaderwin.cpp 2005-07-01 01:28:17.000000000 +0200
-@@ -2378,6 +2378,7 @@
- if ( me->button() == LeftButton && ( me->state() & ShiftButton ) ) {
- // special processing for shift+click
- mAtmCurrent = msgPartFromUrl( mUrlClicked );
-+ if ( mAtmCurrent < 0 ) return false;
- mAtmCurrentName = mUrlClicked.path();
- slotHandleAttachment( KMHandleAttachmentCommand::Save ); // save
- return true; // eat event
diff --git a/kde-base/kmail/files/kmail-3.5.2-imap-fixes.diff b/kde-base/kmail/files/kmail-3.5.2-imap-fixes.diff
deleted file mode 100644
index 0987d2692626..000000000000
--- a/kde-base/kmail/files/kmail-3.5.2-imap-fixes.diff
+++ /dev/null
@@ -1,291 +0,0 @@
---- kdepim/kmail/kmheaders.cpp 2006/03/02 12:26:51 515022
-+++ kdepim/kmail/kmheaders.cpp 2006/04/22 08:13:05 532593
-@@ -1841,7 +1841,7 @@
- bool foundUnreadMessage = false;
-
- if (!mFolder) return -1;
-- if (!(mFolder->count()) > 0) return -1;
-+ if (mFolder->count() <= 0) return -1;
-
- if ((aStartAt >= 0) && (aStartAt < (int)mItems.size()))
- item = mItems[aStartAt];
-@@ -2041,7 +2041,7 @@
-
- int idx = item->msgId();
- KMMessage *msg = mFolder->getMsg(idx);
-- if (!msg->transferInProgress())
-+ if (msg && !msg->transferInProgress())
- {
- emit activated(mFolder->getMsg(idx));
- }
-@@ -3280,7 +3280,8 @@
- unlink(QFile::encodeName(sortFile));
- kdWarning(5006) << "Error: Failure modifying " << sortFile << " (No space left on device?)" << endl;
- kdWarning(5006) << __FILE__ << ":" << __LINE__ << endl;
-- //kmkernel->emergencyExit( i18n("Failure modifying %1\n(No space left on device?)").arg( sortFile ));
-+
-+ return true;
- }
- if(sortStream)
- fclose(sortStream);
---- kdepim/kmail/imapaccountbase.cpp 2006/02/23 14:32:38 512746
-+++ kdepim/kmail/imapaccountbase.cpp 2006/04/15 13:05:11 530119
-@@ -1098,10 +1098,10 @@
- {
- DwBodyPart* newparent = dwpart;
- const DwMessage* newmsg = dwmsg;
-- if ( part->originalContentTypeStr() == "MESSAGE/RFC822" &&
-+ if ( part->originalContentTypeStr() == "MESSAGE/RFC822" && dwpart &&
- dwpart->Body().Message() )
- {
-- // set the encapsulated message as new parent message
-+ // set the encapsulated message as the new message
- newparent = 0;
- newmsg = dwpart->Body().Message();
- }
-@@ -1281,7 +1281,8 @@
- if ( delim.isEmpty() ) {
- delim = "/";
- }
-- if ( !newName.endsWith( delim ) && !folderName.startsWith( delim ) ) {
-+ if ( !newName.isEmpty() &&
-+ !newName.endsWith( delim ) && !folderName.startsWith( delim ) ) {
- newName = newName + delim;
- }
- newName = newName + folderName;
---- kdepim/kmail/imapjob.cpp 2005/08/12 17:17:32 446148
-+++ kdepim/kmail/imapjob.cpp 2006/04/15 09:06:10 530060
-@@ -97,11 +97,12 @@
- // imap folder, use its account for keeping track of the job. Otherwise,
- // this is a get job and the src folder is an imap one. Use its account
- // then.
-- KMAcctImap *account;
-+ KMAcctImap *account = 0;
- if (folder) {
- account = folder->account();
- } else {
-- account = static_cast<KMFolderImap*>(msg_parent->storage())->account();
-+ if ( msg_parent && msg_parent->storage() )
-+ account = static_cast<KMFolderImap*>(msg_parent->storage())->account();
- }
- if ( !account ||
- account->makeConnection() == ImapAccountBase::Error ) {
-@@ -223,21 +224,23 @@
- if ( mDestFolder )
- {
- KMAcctImap *account = static_cast<KMFolderImap*>(mDestFolder->storage())->account();
-- if ( account && mJob ) {
-- ImapAccountBase::JobIterator it = account->findJob( mJob );
-- if ( it != account->jobsEnd() ) {
-- if( (*it).progressItem ) {
-- (*it).progressItem->setComplete();
-- (*it).progressItem = 0;
-- }
-- if ( !(*it).msgList.isEmpty() ) {
-- for ( QPtrListIterator<KMMessage> mit( (*it).msgList ); mit.current(); ++mit )
-- mit.current()->setTransferInProgress( false );
-+ if ( account ) {
-+ if ( mJob ) {
-+ ImapAccountBase::JobIterator it = account->findJob( mJob );
-+ if ( it != account->jobsEnd() ) {
-+ if( (*it).progressItem ) {
-+ (*it).progressItem->setComplete();
-+ (*it).progressItem = 0;
-+ }
-+ if ( !(*it).msgList.isEmpty() ) {
-+ for ( QPtrListIterator<KMMessage> mit( (*it).msgList ); mit.current(); ++mit )
-+ mit.current()->setTransferInProgress( false );
-+ }
- }
-+ account->removeJob( mJob );
- }
-- account->removeJob( mJob );
-+ account->mJobList.remove( this );
- }
-- account->mJobList.remove( this );
- mDestFolder->close();
- }
-
-@@ -245,21 +248,23 @@
- if (!mDestFolder || mDestFolder != mSrcFolder) {
- if (! (mSrcFolder->folderType() == KMFolderTypeImap) ) return;
- KMAcctImap *account = static_cast<KMFolderImap*>(mSrcFolder->storage())->account();
-- if ( account && mJob ) {
-- ImapAccountBase::JobIterator it = account->findJob( mJob );
-- if ( it != account->jobsEnd() ) {
-- if( (*it).progressItem ) {
-- (*it).progressItem->setComplete();
-- (*it).progressItem = 0;
-- }
-- if ( !(*it).msgList.isEmpty() ) {
-- for ( QPtrListIterator<KMMessage> mit( (*it).msgList ); mit.current(); ++mit )
-- mit.current()->setTransferInProgress( false );
-+ if ( account ) {
-+ if ( mJob ) {
-+ ImapAccountBase::JobIterator it = account->findJob( mJob );
-+ if ( it != account->jobsEnd() ) {
-+ if( (*it).progressItem ) {
-+ (*it).progressItem->setComplete();
-+ (*it).progressItem = 0;
-+ }
-+ if ( !(*it).msgList.isEmpty() ) {
-+ for ( QPtrListIterator<KMMessage> mit( (*it).msgList ); mit.current(); ++mit )
-+ mit.current()->setTransferInProgress( false );
-+ }
- }
-+ account->removeJob( mJob ); // remove the associated kio job
- }
-- account->removeJob( mJob ); // remove the associated kio job
-+ account->mJobList.remove( this ); // remove the folderjob
- }
-- account->mJobList.remove( this ); // remove the folderjob
- }
- mSrcFolder->close();
- }
---- kdepim/kmail/kmfoldercachedimap.cpp 2006/02/11 22:39:04 508499
-+++ kdepim/kmail/kmfoldercachedimap.cpp 2006/04/15 10:05:41 530074
-@@ -539,8 +539,11 @@
- mRecurse = recurse;
- assert( account() );
-
-- mAccount->mailCheckProgressItem()->reset();
-- mAccount->mailCheckProgressItem()->setTotalItems( 100 );
-+ ProgressItem *progressItem = mAccount->mailCheckProgressItem();
-+ if ( progressItem ) {
-+ progressItem->reset();
-+ progressItem->setTotalItems( 100 );
-+ }
- mProgress = 0;
-
- #if 0
-@@ -1746,11 +1749,14 @@
- f = static_cast<KMFolderCachedImap*>(newFolder->storage());
- }
- }
-- f->setAccount( mAccount );
-- f->setImapPath( "/INBOX/" );
-- f->folder()->setLabel( i18n("inbox") );
-+ if ( f ) {
-+ f->setAccount( mAccount );
-+ f->setImapPath( "/INBOX/" );
-+ f->folder()->setLabel( i18n("inbox") );
-+ }
- if (!node) {
-- f->close();
-+ if ( f )
-+ f->close();
- kmkernel->dimapFolderMgr()->contentsChanged();
- }
- // so we have an INBOX
---- kdepim/kmail/kmfolderimap.cpp 2006/03/15 14:19:26 518857
-+++ kdepim/kmail/kmfolderimap.cpp 2006/04/15 13:05:11 530119
-@@ -110,6 +110,11 @@
- if (mOpenCount <= 0 ) return;
- if (mOpenCount > 0) mOpenCount--;
- if (mOpenCount > 0 && !aForced) return;
-+ if (isSelected() && !aForced) {
-+ kdWarning(5006) << "Trying to close the selected folder " << label() <<
-+ " - ignoring!" << endl;
-+ return;
-+ }
- // FIXME is this still needed?
- if (mAccount)
- mAccount->ignoreJobsForFolder( folder() );
-@@ -873,8 +878,10 @@
- }
- kmkernel->imapFolderMgr()->contentsChanged();
- }
-- f->initializeFrom( this, "/INBOX/", "message/directory" );
-- f->setChildrenState( QString::null );
-+ if ( f ) {
-+ f->initializeFrom( this, "/INBOX/", "message/directory" );
-+ f->setChildrenState( QString::null );
-+ }
- // so we have an INBOX
- mAccount->setHasInbox( true );
- }
-@@ -1086,17 +1093,20 @@
- int a = cstr.find("X-uidValidity: ");
- int b = cstr.find("\r\n", a);
- QString uidv;
-- if ( (b - a - 15) >= 0 ) uidv = cstr.mid(a + 15, b - a - 15);
-+ if ( (b - a - 15) >= 0 )
-+ uidv = cstr.mid(a + 15, b - a - 15);
- a = cstr.find("X-Access: ");
- b = cstr.find("\r\n", a);
- QString access;
-- if ( (b - a - 10) >= 0 ) access = cstr.mid(a + 10, b - a - 10);
-+ if ( (b - a - 10) >= 0 )
-+ access = cstr.mid(a + 10, b - a - 10);
- mReadOnly = access == "Read only";
- a = cstr.find("X-Count: ");
- b = cstr.find("\r\n", a);
- int exists = -1;
-- bool ok;
-- if ( (b - a - 9) >= 0 ) exists = cstr.mid(a + 9, b - a - 9).toInt(&ok);
-+ bool ok = false;
-+ if ( (b - a - 9) >= 0 )
-+ exists = cstr.mid(a + 9, b - a - 9).toInt(&ok);
- if ( !ok ) exists = -1;
- QString startUid;
- if (uidValidity() != uidv)
---- kdepim/kmail/kmfoldertree.cpp 2006/02/13 20:29:00 509156
-+++ kdepim/kmail/kmfoldertree.cpp 2006/04/15 10:05:41 530074
-@@ -139,7 +139,7 @@
- KIconLoader * il = KGlobal::instance()->iconLoader();
- QPixmap pm = il->loadIcon( icon, KIcon::Small, size,
- KIcon::DefaultState, 0, true );
-- if ( pm.isNull() ) {
-+ if ( mFolder && pm.isNull() ) {
- pm = il->loadIcon( mFolder->normalIconPath(), KIcon::Small, size,
- KIcon::DefaultState, 0, true );
- }
-@@ -157,7 +157,7 @@
- pm = normalIcon( size );
-
- KIconLoader * il = KGlobal::instance()->iconLoader();
-- if ( mFolder->useCustomIcons() ) {
-+ if ( mFolder && mFolder->useCustomIcons() ) {
- pm = il->loadIcon( mFolder->unreadIconPath(), KIcon::Small, size,
- KIcon::DefaultState, 0, true );
- if ( pm.isNull() )
-@@ -1020,10 +1020,10 @@
- mMainWidget->action("compact")->plug(folderMenu);
-
- folderMenu->insertSeparator();
-- if ( !fti->folder()->isSystemFolder() )
-+ if ( !fti->folder()->isSystemFolder() ) {
- mMainWidget->action("delete_folder")->plug(folderMenu);
--
-- folderMenu->insertSeparator();
-+ folderMenu->insertSeparator();
-+ }
- mMainWidget->action("empty")->plug(folderMenu);
- folderMenu->insertSeparator();
- }
-@@ -1477,7 +1477,8 @@
-
- QString fldName, oldFldName;
-
-- oldFldName = fti->name(0);
-+ if ( fti )
-+ oldFldName = fti->name(0);
-
- if (!text.isEmpty())
- fldName = text;
-@@ -1546,10 +1547,12 @@
-
- // get the unread count
- int count = 0;
-- if (folder->noContent()) // always empty
-+ if (folder && folder->noContent()) // always empty
- count = -1;
-- else
-- count = fti->folder()->countUnread();
-+ else {
-+ if ( fti->folder() )
-+ count = fti->folder()->countUnread();
-+ }
-
- // set it
- bool repaint = false; \ No newline at end of file
diff --git a/kde-base/kmail/files/kmail-3.5.6-kde-bug-140660.patch b/kde-base/kmail/files/kmail-3.5.6-kde-bug-140660.patch
new file mode 100644
index 000000000000..323e349267b1
--- /dev/null
+++ b/kde-base/kmail/files/kmail-3.5.6-kde-bug-140660.patch
@@ -0,0 +1,19 @@
+Index: kmfolder.cpp
+===================================================================
+--- kdepim-3.5.6/kmail/kmfolder.cpp (revision 627528)
++++ kdepim-3.5.6/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
diff --git a/kde-base/kmail/files/kmail-3.5.6-templates.patch b/kde-base/kmail/files/kmail-3.5.6-templates.patch
new file mode 100644
index 000000000000..262c9821a1f9
--- /dev/null
+++ b/kde-base/kmail/files/kmail-3.5.6-templates.patch
@@ -0,0 +1,20 @@
+--- 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";
diff --git a/kde-base/kmail/kmail-3.5.6-r1.ebuild b/kde-base/kmail/kmail-3.5.6-r1.ebuild
new file mode 100644
index 000000000000..34c4f59bda4e
--- /dev/null
+++ b/kde-base/kmail/kmail-3.5.6-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kmail/kmail-3.5.6-r1.ebuild,v 1.1 2007/01/27 18:12:25 flameeyes Exp $
+
+KMNAME=kdepim
+MAXKDEVER=$PV
+KM_DEPRANGE="$PV $MAXKDEVER"
+inherit kde-meta eutils
+
+SRC_DIR="${SRC_DIR}
+ mirror://gentoo/kdepim-3.5-patchset-02.tar.bz2"
+
+DESCRIPTION="KDE mail client"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="crypt"
+DEPEND="$(deprange 3.5.4 $MAXKDEVER kde-base/libkdenetwork)
+ $(deprange $PV $MAXKDEVER kde-base/libkdepim)
+ $(deprange $PV $MAXKDEVER kde-base/libkpimidentities)
+ $(deprange $PV $MAXKDEVER kde-base/mimelib)
+ $(deprange $PV $MAXKDEVER kde-base/libksieve)
+ $(deprange $PV $MAXKDEVER kde-base/certmanager)
+ $(deprange $PV $MAXKDEVER kde-base/libkcal)
+ $(deprange $PV $MAXKDEVER kde-base/kontact)
+ $(deprange 3.5.4 $MAXKDEVER kde-base/libkpgp)
+ $(deprange $PV $MAXKDEVER kde-base/libkmime)"
+RDEPEND="${DEPEND}
+ crypt? ( app-crypt/pinentry )
+ $(deprange $PV $MAXKDEVER kde-base/kdepim-kioslaves)
+ $(deprange 3.5.5 $MAXKDEVER kde-base/kmailcvt)
+ $(deprange-dual $PV $MAXKDEVER kde-base/kdebase-kioslaves)
+ $(deprange-dual $PV $MAXKDEVER kde-base/kcontrol)" # for the "looknfeel" icon, and probably others.
+
+KMCOPYLIB="
+ libkdepim libkdepim/
+ libkpimidentities libkpimidentities/
+ libmimelib mimelib/
+ libksieve libksieve/
+ libkleopatra certmanager/lib/
+ libkcal libkcal
+ libkpinterfaces kontact/interfaces/
+ libkmime libkmime
+ libkpgp libkpgp"
+KMEXTRACTONLY="
+ libkdenetwork/
+ libkdepim/
+ libkpimidentities/
+ libksieve/
+ libkcal/
+ mimelib/
+ certmanager/
+ korganizer/korganizeriface.h
+ kontact/interfaces/
+ libkmime/
+ libkpgp
+ dcopidlng"
+KMCOMPILEONLY="libemailfunctions"
+# the kmail plugins are installed with kmail
+KMEXTRA="plugins/kmail/
+ kontact/plugins/kmail/" # We add here the kontact's plugin instead of compiling it with kontact because it needs a lot of this programs deps.
+
+PATCHES="${FILESDIR}/kmail-3.5.6-kde-bug-140660.patch
+ ${FILESDIR}/kmail-3.5.6-templates.patch"