summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Mrozowski <reavertm@gentoo.org>2013-08-13 21:35:45 +0000
committerMaciej Mrozowski <reavertm@gentoo.org>2013-08-13 21:35:45 +0000
commitb8a90fe7b002eff6240a7c8d70ea95ef05da232c (patch)
treed2b6ad3f036eb12d41cdc42128db24b64851f18d /app-office/akonadi-server
parentremove texive-2013 mask, as dev-texlive/texlive-langeuropean-2013 is keyworde... (diff)
downloadgentoo-2-b8a90fe7b002eff6240a7c8d70ea95ef05da232c.tar.gz
gentoo-2-b8a90fe7b002eff6240a7c8d70ea95ef05da232c.tar.bz2
gentoo-2-b8a90fe7b002eff6240a7c8d70ea95ef05da232c.zip
Add fix for assert in datastore for certain queries.
(Portage version: 2.2.0/cvs/Linux x86_64, signed Manifest commit with key B1E955DB)
Diffstat (limited to 'app-office/akonadi-server')
-rw-r--r--app-office/akonadi-server/ChangeLog9
-rw-r--r--app-office/akonadi-server/akonadi-server-1.10.2-r1.ebuild (renamed from app-office/akonadi-server/akonadi-server-1.10.2.ebuild)8
-rw-r--r--app-office/akonadi-server/files/akonadi-server-1.10.2-datastore_query_fix.patch23
3 files changed, 37 insertions, 3 deletions
diff --git a/app-office/akonadi-server/ChangeLog b/app-office/akonadi-server/ChangeLog
index ce51157e7a1a..ccd6bee6bc1f 100644
--- a/app-office/akonadi-server/ChangeLog
+++ b/app-office/akonadi-server/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-office/akonadi-server
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/akonadi-server/ChangeLog,v 1.122 2013/07/25 21:07:11 johu Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/akonadi-server/ChangeLog,v 1.123 2013/08/13 21:35:45 reavertm Exp $
+
+*akonadi-server-1.10.2-r1 (13 Aug 2013)
+
+ 13 Aug 2013; Maciej Mrozowski <reavertm@gentoo.org>
+ -akonadi-server-1.10.2.ebuild, +akonadi-server-1.10.2-r1.ebuild,
+ +files/akonadi-server-1.10.2-datastore_query_fix.patch:
+ Add fix for assert in datastore for certain queries.
*akonadi-server-1.10.2 (25 Jul 2013)
diff --git a/app-office/akonadi-server/akonadi-server-1.10.2.ebuild b/app-office/akonadi-server/akonadi-server-1.10.2-r1.ebuild
index 5428f75d3c9d..648dad6ecd1a 100644
--- a/app-office/akonadi-server/akonadi-server-1.10.2.ebuild
+++ b/app-office/akonadi-server/akonadi-server-1.10.2-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/akonadi-server/akonadi-server-1.10.2.ebuild,v 1.1 2013/07/25 21:07:11 johu Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/akonadi-server/akonadi-server-1.10.2-r1.ebuild,v 1.1 2013/08/13 21:35:45 reavertm Exp $
EAPI=5
@@ -15,7 +15,7 @@ else
S="${WORKDIR}/${P/-server/}"
fi
-inherit cmake-utils ${scm_eclass}
+inherit cmake-utils ${scm_eclass} eutils
DESCRIPTION="The server part of Akonadi"
HOMEPAGE="http://pim.kde.org/akonadi"
@@ -59,6 +59,10 @@ RDEPEND="${CDEPEND}
postgres? ( dev-db/postgresql-server )
"
+PATCHES=(
+ "${FILESDIR}"/${P}-datastore_query_fix.patch
+)
+
pkg_setup() {
# Set default storage backend in order: MySQL, SQLite PostgreSQL
# reverse driver check to keep the order
diff --git a/app-office/akonadi-server/files/akonadi-server-1.10.2-datastore_query_fix.patch b/app-office/akonadi-server/files/akonadi-server-1.10.2-datastore_query_fix.patch
new file mode 100644
index 000000000000..d119a3aae077
--- /dev/null
+++ b/app-office/akonadi-server/files/akonadi-server-1.10.2-datastore_query_fix.patch
@@ -0,0 +1,23 @@
+commit d76aeb18fbc346e89481ce9b3157b4518e8485f7
+Author: Volker Krause <vkrause@kde.org>
+Date: Wed Jul 31 17:14:10 2013 +0200
+
+ Don't crash the server if all items already have the desired flags.
+
+ This case subsequently hits an assert in the query builder for an empty
+ IN condition.
+
+diff --git a/server/src/storage/datastore.cpp b/server/src/storage/datastore.cpp
+index 41a0927..40b8fe8 100644
+--- a/server/src/storage/datastore.cpp
++++ b/server/src/storage/datastore.cpp
+@@ -235,6 +235,9 @@ bool DataStore::doAppendItemsFlag( const PimItem::List &items, const Flag &flag,
+ appendItems << item;
+ }
+
++ if ( appendItems.isEmpty() )
++ return true; // all items have the desired flags already
++
+ QueryBuilder qb2( PimItemFlagRelation::tableName(), QueryBuilder::Insert );
+ qb2.setColumnValue( PimItemFlagRelation::leftColumn(), appendIds );
+ qb2.setColumnValue( PimItemFlagRelation::rightColumn(), flagIds );