[arch-commits] Commit in kdepim-runtime/repos (10 files)

Antonio Rojas arojas at archlinux.org
Tue Sep 15 20:14:15 UTC 2015


    Date: Tuesday, September 15, 2015 @ 22:14:15
  Author: arojas
Revision: 246375

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  kdepim-runtime/repos/testing-i686/PKGBUILD
    (from rev 246374, kdepim-runtime/trunk/PKGBUILD)
  kdepim-runtime/repos/testing-i686/kdepim-runtime-bug338658.patch
    (from rev 246374, kdepim-runtime/trunk/kdepim-runtime-bug338658.patch)
  kdepim-runtime/repos/testing-i686/kdepim-runtime.install
    (from rev 246374, kdepim-runtime/trunk/kdepim-runtime.install)
  kdepim-runtime/repos/testing-x86_64/PKGBUILD
    (from rev 246374, kdepim-runtime/trunk/PKGBUILD)
  kdepim-runtime/repos/testing-x86_64/kdepim-runtime-bug338658.patch
    (from rev 246374, kdepim-runtime/trunk/kdepim-runtime-bug338658.patch)
  kdepim-runtime/repos/testing-x86_64/kdepim-runtime.install
    (from rev 246374, kdepim-runtime/trunk/kdepim-runtime.install)
Deleted:
  kdepim-runtime/repos/testing-i686/PKGBUILD
  kdepim-runtime/repos/testing-i686/kdepim-runtime.install
  kdepim-runtime/repos/testing-x86_64/PKGBUILD
  kdepim-runtime/repos/testing-x86_64/kdepim-runtime.install

-----------------------------------------------+
 /PKGBUILD                                     |   86 +++++++++++
 /kdepim-runtime.install                       |   26 +++
 testing-i686/PKGBUILD                         |   38 -----
 testing-i686/kdepim-runtime-bug338658.patch   |  181 ++++++++++++++++++++++++
 testing-i686/kdepim-runtime.install           |   13 -
 testing-x86_64/PKGBUILD                       |   38 -----
 testing-x86_64/kdepim-runtime-bug338658.patch |  181 ++++++++++++++++++++++++
 testing-x86_64/kdepim-runtime.install         |   13 -
 8 files changed, 474 insertions(+), 102 deletions(-)

Deleted: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD	2015-09-15 20:13:05 UTC (rev 246374)
+++ testing-i686/PKGBUILD	2015-09-15 20:14:15 UTC (rev 246375)
@@ -1,38 +0,0 @@
-# $Id$
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-
-pkgname=kdepim-runtime
-pkgver=15.08.1
-pkgrel=1
-pkgdesc='Extends the functionality of kdepim'
-arch=('i686' 'x86_64')
-url='https://projects.kde.org/projects/kde/kdepim-runtime'
-license=('GPL' 'LGPL' 'FDL')
-depends=(hicolor-icon-theme qt5-quick1 libkgapi libkolab akonadi-socialutils akonadi-calendar
-         knotifyconfig kross kalarmcal kmbox kimap kde-syndication)
-makedepends=(extra-cmake-modules kdoctools boost)
-install=$pkgname.install
-source=("http://download.kde.org/stable/applications/$pkgver/src/$pkgname-$pkgver.tar.xz")
-sha1sums=('fcab275175a82152ee2345a8657e0ab238f7033a')
-
-prepare() {
-  mkdir -p build
-}
-
-build() {
-  cd build
-  cmake ../$pkgname-$pkgver \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DBUILD_TESTING=OFF \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DCMAKE_INSTALL_LIBDIR=lib \
-    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-  make
-}
-
-package() {
-  cd build
-  make DESTDIR="$pkgdir" install
-}

Copied: kdepim-runtime/repos/testing-i686/PKGBUILD (from rev 246374, kdepim-runtime/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2015-09-15 20:14:15 UTC (rev 246375)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgname=kdepim-runtime
+pkgver=15.08.1
+pkgrel=2
+pkgdesc='Extends the functionality of kdepim'
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/kde/kdepim-runtime'
+license=('GPL' 'LGPL' 'FDL')
+depends=(hicolor-icon-theme qt5-quick1 libkgapi libkolab akonadi-socialutils akonadi-calendar
+         knotifyconfig kross kalarmcal kmbox kimap kde-syndication)
+makedepends=(extra-cmake-modules kdoctools boost)
+install=$pkgname.install
+source=("http://download.kde.org/stable/applications/$pkgver/src/$pkgname-$pkgver.tar.xz" kdepim-runtime-bug338658.patch)
+sha1sums=('fcab275175a82152ee2345a8657e0ab238f7033a'
+          '4d0bcdb3887f1146d289471d7e2494e2a76bb8bd')
+
+prepare() {
+  mkdir -p build
+
+# Fix https://bugs.kde.org/show_bug.cgi?id=338658
+  cd $pkgname-$pkgver
+  patch -p1 -i ../kdepim-runtime-bug338658.patch
+}
+
+build() {
+  cd build
+  cmake ../$pkgname-$pkgver \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DBUILD_TESTING=OFF \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_LIBDIR=lib \
+    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+  make
+}
+
+package() {
+  cd build
+  make DESTDIR="$pkgdir" install
+}

Copied: kdepim-runtime/repos/testing-i686/kdepim-runtime-bug338658.patch (from rev 246374, kdepim-runtime/trunk/kdepim-runtime-bug338658.patch)
===================================================================
--- testing-i686/kdepim-runtime-bug338658.patch	                        (rev 0)
+++ testing-i686/kdepim-runtime-bug338658.patch	2015-09-15 20:14:15 UTC (rev 246375)
@@ -0,0 +1,181 @@
+From 038c604aba0cac22275e03c3497672cd254c2568 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Vr=C3=A1til?= <dvratil at redhat.com>
+Date: Mon, 7 Sep 2015 16:20:39 +0200
+Subject: [PATCH] IMAP: switch to GID-based merge when the Collection can
+ contain something else than emails
+
+In order to fix the recurrent multiple-merge-candidates issue which was breaking
+ItemSync, ItemSync switched to RID-based merging, which is way more reliable.
+However in some cases the IMAP resource still wants to use GID-based merging,
+because RID might not be stable enough.
+
+(cherry picked from commit 93a2baac05a325b688aea2cc12d9714d6b186f69)
+---
+ CMakeLists.txt                                  |  2 +-
+ resources/imap/autotests/dummyresourcestate.cpp |  8 +++++++-
+ resources/imap/autotests/dummyresourcestate.h   |  3 +++
+ resources/imap/resourcestate.cpp                |  5 +++++
+ resources/imap/resourcestate.h                  |  2 ++
+ resources/imap/resourcestateinterface.h         |  3 +++
+ resources/imap/resourcetask.cpp                 |  5 +++++
+ resources/imap/resourcetask.h                   |  1 +
+ resources/imap/retrieveitemstask.cpp            | 10 ++++++++++
+ 9 files changed, 37 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0511f78..17a39b0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,7 +54,7 @@ include(ECMInstallIcons)
+ set(KF5_VERSION "5.12.0")
+ set(QT_REQUIRED_VERSION "5.4.0")
+ 
+-set(KDEPIMLIBS_LIB_VERSION "4.88.0")
++set(KDEPIMLIBS_LIB_VERSION "4.89.0")
+ 
+ set(KDEPIMRUNTIME_LIB_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}")
+ set(KDEPIMRUNTIME_LIB_SOVERSION "5")
+diff --git a/resources/imap/autotests/dummyresourcestate.cpp b/resources/imap/autotests/dummyresourcestate.cpp
+index 8b28f0b..9497f8e 100644
+--- a/resources/imap/autotests/dummyresourcestate.cpp
++++ b/resources/imap/autotests/dummyresourcestate.cpp
+@@ -27,7 +27,8 @@ Q_DECLARE_METATYPE(TagListAndMembers);
+ 
+ DummyResourceState::DummyResourceState()
+     : m_automaticExpunge(true), m_subscriptionEnabled(true),
+-      m_disconnectedMode(true), m_intervalCheckTime(-1)
++      m_disconnectedMode(true), m_intervalCheckTime(-1),
++      m_mergeMode(Akonadi::ItemSync::RIDMerge)
+ {
+     qRegisterMetaType<QList<qint64> >();
+     qRegisterMetaType<QVector<qint64> >();
+@@ -428,6 +429,11 @@ int DummyResourceState::batchSize() const
+     return 10;
+ }
+ 
++void DummyResourceState::setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode)
++{
++    m_mergeMode = mergeMode;
++}
++
+ MessageHelper::Ptr DummyResourceState::messageHelper() const
+ {
+     return MessageHelper::Ptr(new MessageHelper());
+diff --git a/resources/imap/autotests/dummyresourcestate.h b/resources/imap/autotests/dummyresourcestate.h
+index 39cb055..339501f 100644
+--- a/resources/imap/autotests/dummyresourcestate.h
++++ b/resources/imap/autotests/dummyresourcestate.h
+@@ -143,6 +143,7 @@ public:
+     virtual void showInformationDialog(const QString &message, const QString &title, const QString &dontShowAgainName);
+ 
+     virtual int batchSize() const;
++    virtual void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode);
+ 
+     virtual MessageHelper::Ptr messageHelper() const;
+ 
+@@ -163,6 +164,8 @@ private:
+     int m_intervalCheckTime;
+     QChar m_separator;
+ 
++    Akonadi::ItemSync::MergeMode m_mergeMode;
++
+     Akonadi::Collection m_collection;
+     Akonadi::Item::List m_items;
+ 
+diff --git a/resources/imap/resourcestate.cpp b/resources/imap/resourcestate.cpp
+index 9bf802a..690e562 100644
+--- a/resources/imap/resourcestate.cpp
++++ b/resources/imap/resourcestate.cpp
+@@ -362,3 +362,8 @@ void ResourceState::relationsRetrieved(const Akonadi::Relation::List &relations)
+ {
+     m_resource->relationsRetrieved(relations);
+ }
++
++void ResourceState::setItemMergingMode(Akonadi::ItemSync::MergeMode mode)
++{
++    m_resource->setItemMergingMode(mode);
++}
+\ No newline at end of file
+diff --git a/resources/imap/resourcestate.h b/resources/imap/resourcestate.h
+index 6471419..79ece01 100644
+--- a/resources/imap/resourcestate.h
++++ b/resources/imap/resourcestate.h
+@@ -153,6 +153,8 @@ public:
+ 
+     MessageHelper::Ptr messageHelper() const Q_DECL_OVERRIDE;
+ 
++  void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode);
++
+ private:
+     ImapResourceBase *m_resource;
+     const TaskArguments m_arguments;
+diff --git a/resources/imap/resourcestateinterface.h b/resources/imap/resourcestateinterface.h
+index eb34a25..35647be 100644
+--- a/resources/imap/resourcestateinterface.h
++++ b/resources/imap/resourcestateinterface.h
+@@ -26,6 +26,7 @@
+ 
+ #include <Collection>
+ #include <Item>
++#include <ItemSync>
+ 
+ #include <kimap/listjob.h>
+ 
+@@ -125,6 +126,8 @@ public:
+ 
+     virtual Akonadi::Relation::List addedRelations() const = 0;
+     virtual Akonadi::Relation::List removedRelations() const = 0;
++
++    virtual void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode) = 0;
+ };
+ 
+ #endif
+diff --git a/resources/imap/resourcetask.cpp b/resources/imap/resourcetask.cpp
+index 59532cd..e9c640c 100644
+--- a/resources/imap/resourcetask.cpp
++++ b/resources/imap/resourcetask.cpp
+@@ -591,3 +591,8 @@ KIMAP::Acl::Rights ResourceTask::myRights(const Akonadi::Collection &col)
+     }
+     return KIMAP::Acl::None;
+ }
++
++void ResourceTask::setItemMergingMode(Akonadi::ItemSync::MergeMode mode)
++{
++    m_resource->setItemMergingMode(mode);
++}
+diff --git a/resources/imap/resourcetask.h b/resources/imap/resourcetask.h
+index 74aa518..d034c9d 100644
+--- a/resources/imap/resourcetask.h
++++ b/resources/imap/resourcetask.h
+@@ -140,6 +140,7 @@ protected:
+     virtual bool serverSupportsCondstore() const;
+ 
+     int batchSize() const;
++    void setItemMergingMode(Akonadi::ItemSync::MergeMode mode);
+ 
+     ResourceStateInterface::Ptr resourceState();
+ 
+diff --git a/resources/imap/retrieveitemstask.cpp b/resources/imap/retrieveitemstask.cpp
+index a60c6ba..91b287c 100644
+--- a/resources/imap/retrieveitemstask.cpp
++++ b/resources/imap/retrieveitemstask.cpp
+@@ -89,6 +89,16 @@ void RetrieveItemsTask::doStart(KIMAP::Session *session)
+     m_session = session;
+ 
+     const Akonadi::Collection col = collection();
++    // Only with emails we can be sure that RID is persistent and thus we can use
++    // it for merging. For other potential content types (like Kolab events etc.)
++    // use GID instead.
++    QStringList cts = col.contentMimeTypes();
++    cts.removeOne(Akonadi::Collection::mimeType());
++    cts.removeOne(KMime::Message::mimeType());
++    if (!cts.isEmpty()) {
++        setItemMergingMode(Akonadi::ItemSync::GIDMerge);
++    }
++
+     if (m_fetchMissingBodies && col.cachePolicy()
+             .localParts().contains(QLatin1String(Akonadi::MessagePart::Body))) {  //disconnected mode, make sure we really have the body cached
+ 
+-- 
+2.4.6
+

Deleted: testing-i686/kdepim-runtime.install
===================================================================
--- testing-i686/kdepim-runtime.install	2015-09-15 20:13:05 UTC (rev 246374)
+++ testing-i686/kdepim-runtime.install	2015-09-15 20:14:15 UTC (rev 246375)
@@ -1,13 +0,0 @@
-post_install() {
-	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-	update-mime-database usr/share/mime &> /dev/null
-    update-desktop-database -q
-}
-
-post_upgrade() {
-	post_install
-}
-
-post_remove() {
-	post_install
-}

Copied: kdepim-runtime/repos/testing-i686/kdepim-runtime.install (from rev 246374, kdepim-runtime/trunk/kdepim-runtime.install)
===================================================================
--- testing-i686/kdepim-runtime.install	                        (rev 0)
+++ testing-i686/kdepim-runtime.install	2015-09-15 20:14:15 UTC (rev 246375)
@@ -0,0 +1,13 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	update-mime-database usr/share/mime &> /dev/null
+    update-desktop-database -q
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}

Deleted: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD	2015-09-15 20:13:05 UTC (rev 246374)
+++ testing-x86_64/PKGBUILD	2015-09-15 20:14:15 UTC (rev 246375)
@@ -1,38 +0,0 @@
-# $Id$
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-
-pkgname=kdepim-runtime
-pkgver=15.08.1
-pkgrel=1
-pkgdesc='Extends the functionality of kdepim'
-arch=('i686' 'x86_64')
-url='https://projects.kde.org/projects/kde/kdepim-runtime'
-license=('GPL' 'LGPL' 'FDL')
-depends=(hicolor-icon-theme qt5-quick1 libkgapi libkolab akonadi-socialutils akonadi-calendar
-         knotifyconfig kross kalarmcal kmbox kimap kde-syndication)
-makedepends=(extra-cmake-modules kdoctools boost)
-install=$pkgname.install
-source=("http://download.kde.org/stable/applications/$pkgver/src/$pkgname-$pkgver.tar.xz")
-sha1sums=('fcab275175a82152ee2345a8657e0ab238f7033a')
-
-prepare() {
-  mkdir -p build
-}
-
-build() {
-  cd build
-  cmake ../$pkgname-$pkgver \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DBUILD_TESTING=OFF \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DCMAKE_INSTALL_LIBDIR=lib \
-    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-  make
-}
-
-package() {
-  cd build
-  make DESTDIR="$pkgdir" install
-}

Copied: kdepim-runtime/repos/testing-x86_64/PKGBUILD (from rev 246374, kdepim-runtime/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2015-09-15 20:14:15 UTC (rev 246375)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgname=kdepim-runtime
+pkgver=15.08.1
+pkgrel=2
+pkgdesc='Extends the functionality of kdepim'
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/kde/kdepim-runtime'
+license=('GPL' 'LGPL' 'FDL')
+depends=(hicolor-icon-theme qt5-quick1 libkgapi libkolab akonadi-socialutils akonadi-calendar
+         knotifyconfig kross kalarmcal kmbox kimap kde-syndication)
+makedepends=(extra-cmake-modules kdoctools boost)
+install=$pkgname.install
+source=("http://download.kde.org/stable/applications/$pkgver/src/$pkgname-$pkgver.tar.xz" kdepim-runtime-bug338658.patch)
+sha1sums=('fcab275175a82152ee2345a8657e0ab238f7033a'
+          '4d0bcdb3887f1146d289471d7e2494e2a76bb8bd')
+
+prepare() {
+  mkdir -p build
+
+# Fix https://bugs.kde.org/show_bug.cgi?id=338658
+  cd $pkgname-$pkgver
+  patch -p1 -i ../kdepim-runtime-bug338658.patch
+}
+
+build() {
+  cd build
+  cmake ../$pkgname-$pkgver \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DBUILD_TESTING=OFF \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_LIBDIR=lib \
+    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+  make
+}
+
+package() {
+  cd build
+  make DESTDIR="$pkgdir" install
+}

Copied: kdepim-runtime/repos/testing-x86_64/kdepim-runtime-bug338658.patch (from rev 246374, kdepim-runtime/trunk/kdepim-runtime-bug338658.patch)
===================================================================
--- testing-x86_64/kdepim-runtime-bug338658.patch	                        (rev 0)
+++ testing-x86_64/kdepim-runtime-bug338658.patch	2015-09-15 20:14:15 UTC (rev 246375)
@@ -0,0 +1,181 @@
+From 038c604aba0cac22275e03c3497672cd254c2568 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Vr=C3=A1til?= <dvratil at redhat.com>
+Date: Mon, 7 Sep 2015 16:20:39 +0200
+Subject: [PATCH] IMAP: switch to GID-based merge when the Collection can
+ contain something else than emails
+
+In order to fix the recurrent multiple-merge-candidates issue which was breaking
+ItemSync, ItemSync switched to RID-based merging, which is way more reliable.
+However in some cases the IMAP resource still wants to use GID-based merging,
+because RID might not be stable enough.
+
+(cherry picked from commit 93a2baac05a325b688aea2cc12d9714d6b186f69)
+---
+ CMakeLists.txt                                  |  2 +-
+ resources/imap/autotests/dummyresourcestate.cpp |  8 +++++++-
+ resources/imap/autotests/dummyresourcestate.h   |  3 +++
+ resources/imap/resourcestate.cpp                |  5 +++++
+ resources/imap/resourcestate.h                  |  2 ++
+ resources/imap/resourcestateinterface.h         |  3 +++
+ resources/imap/resourcetask.cpp                 |  5 +++++
+ resources/imap/resourcetask.h                   |  1 +
+ resources/imap/retrieveitemstask.cpp            | 10 ++++++++++
+ 9 files changed, 37 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0511f78..17a39b0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,7 +54,7 @@ include(ECMInstallIcons)
+ set(KF5_VERSION "5.12.0")
+ set(QT_REQUIRED_VERSION "5.4.0")
+ 
+-set(KDEPIMLIBS_LIB_VERSION "4.88.0")
++set(KDEPIMLIBS_LIB_VERSION "4.89.0")
+ 
+ set(KDEPIMRUNTIME_LIB_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}")
+ set(KDEPIMRUNTIME_LIB_SOVERSION "5")
+diff --git a/resources/imap/autotests/dummyresourcestate.cpp b/resources/imap/autotests/dummyresourcestate.cpp
+index 8b28f0b..9497f8e 100644
+--- a/resources/imap/autotests/dummyresourcestate.cpp
++++ b/resources/imap/autotests/dummyresourcestate.cpp
+@@ -27,7 +27,8 @@ Q_DECLARE_METATYPE(TagListAndMembers);
+ 
+ DummyResourceState::DummyResourceState()
+     : m_automaticExpunge(true), m_subscriptionEnabled(true),
+-      m_disconnectedMode(true), m_intervalCheckTime(-1)
++      m_disconnectedMode(true), m_intervalCheckTime(-1),
++      m_mergeMode(Akonadi::ItemSync::RIDMerge)
+ {
+     qRegisterMetaType<QList<qint64> >();
+     qRegisterMetaType<QVector<qint64> >();
+@@ -428,6 +429,11 @@ int DummyResourceState::batchSize() const
+     return 10;
+ }
+ 
++void DummyResourceState::setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode)
++{
++    m_mergeMode = mergeMode;
++}
++
+ MessageHelper::Ptr DummyResourceState::messageHelper() const
+ {
+     return MessageHelper::Ptr(new MessageHelper());
+diff --git a/resources/imap/autotests/dummyresourcestate.h b/resources/imap/autotests/dummyresourcestate.h
+index 39cb055..339501f 100644
+--- a/resources/imap/autotests/dummyresourcestate.h
++++ b/resources/imap/autotests/dummyresourcestate.h
+@@ -143,6 +143,7 @@ public:
+     virtual void showInformationDialog(const QString &message, const QString &title, const QString &dontShowAgainName);
+ 
+     virtual int batchSize() const;
++    virtual void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode);
+ 
+     virtual MessageHelper::Ptr messageHelper() const;
+ 
+@@ -163,6 +164,8 @@ private:
+     int m_intervalCheckTime;
+     QChar m_separator;
+ 
++    Akonadi::ItemSync::MergeMode m_mergeMode;
++
+     Akonadi::Collection m_collection;
+     Akonadi::Item::List m_items;
+ 
+diff --git a/resources/imap/resourcestate.cpp b/resources/imap/resourcestate.cpp
+index 9bf802a..690e562 100644
+--- a/resources/imap/resourcestate.cpp
++++ b/resources/imap/resourcestate.cpp
+@@ -362,3 +362,8 @@ void ResourceState::relationsRetrieved(const Akonadi::Relation::List &relations)
+ {
+     m_resource->relationsRetrieved(relations);
+ }
++
++void ResourceState::setItemMergingMode(Akonadi::ItemSync::MergeMode mode)
++{
++    m_resource->setItemMergingMode(mode);
++}
+\ No newline at end of file
+diff --git a/resources/imap/resourcestate.h b/resources/imap/resourcestate.h
+index 6471419..79ece01 100644
+--- a/resources/imap/resourcestate.h
++++ b/resources/imap/resourcestate.h
+@@ -153,6 +153,8 @@ public:
+ 
+     MessageHelper::Ptr messageHelper() const Q_DECL_OVERRIDE;
+ 
++  void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode);
++
+ private:
+     ImapResourceBase *m_resource;
+     const TaskArguments m_arguments;
+diff --git a/resources/imap/resourcestateinterface.h b/resources/imap/resourcestateinterface.h
+index eb34a25..35647be 100644
+--- a/resources/imap/resourcestateinterface.h
++++ b/resources/imap/resourcestateinterface.h
+@@ -26,6 +26,7 @@
+ 
+ #include <Collection>
+ #include <Item>
++#include <ItemSync>
+ 
+ #include <kimap/listjob.h>
+ 
+@@ -125,6 +126,8 @@ public:
+ 
+     virtual Akonadi::Relation::List addedRelations() const = 0;
+     virtual Akonadi::Relation::List removedRelations() const = 0;
++
++    virtual void setItemMergingMode(Akonadi::ItemSync::MergeMode mergeMode) = 0;
+ };
+ 
+ #endif
+diff --git a/resources/imap/resourcetask.cpp b/resources/imap/resourcetask.cpp
+index 59532cd..e9c640c 100644
+--- a/resources/imap/resourcetask.cpp
++++ b/resources/imap/resourcetask.cpp
+@@ -591,3 +591,8 @@ KIMAP::Acl::Rights ResourceTask::myRights(const Akonadi::Collection &col)
+     }
+     return KIMAP::Acl::None;
+ }
++
++void ResourceTask::setItemMergingMode(Akonadi::ItemSync::MergeMode mode)
++{
++    m_resource->setItemMergingMode(mode);
++}
+diff --git a/resources/imap/resourcetask.h b/resources/imap/resourcetask.h
+index 74aa518..d034c9d 100644
+--- a/resources/imap/resourcetask.h
++++ b/resources/imap/resourcetask.h
+@@ -140,6 +140,7 @@ protected:
+     virtual bool serverSupportsCondstore() const;
+ 
+     int batchSize() const;
++    void setItemMergingMode(Akonadi::ItemSync::MergeMode mode);
+ 
+     ResourceStateInterface::Ptr resourceState();
+ 
+diff --git a/resources/imap/retrieveitemstask.cpp b/resources/imap/retrieveitemstask.cpp
+index a60c6ba..91b287c 100644
+--- a/resources/imap/retrieveitemstask.cpp
++++ b/resources/imap/retrieveitemstask.cpp
+@@ -89,6 +89,16 @@ void RetrieveItemsTask::doStart(KIMAP::Session *session)
+     m_session = session;
+ 
+     const Akonadi::Collection col = collection();
++    // Only with emails we can be sure that RID is persistent and thus we can use
++    // it for merging. For other potential content types (like Kolab events etc.)
++    // use GID instead.
++    QStringList cts = col.contentMimeTypes();
++    cts.removeOne(Akonadi::Collection::mimeType());
++    cts.removeOne(KMime::Message::mimeType());
++    if (!cts.isEmpty()) {
++        setItemMergingMode(Akonadi::ItemSync::GIDMerge);
++    }
++
+     if (m_fetchMissingBodies && col.cachePolicy()
+             .localParts().contains(QLatin1String(Akonadi::MessagePart::Body))) {  //disconnected mode, make sure we really have the body cached
+ 
+-- 
+2.4.6
+

Deleted: testing-x86_64/kdepim-runtime.install
===================================================================
--- testing-x86_64/kdepim-runtime.install	2015-09-15 20:13:05 UTC (rev 246374)
+++ testing-x86_64/kdepim-runtime.install	2015-09-15 20:14:15 UTC (rev 246375)
@@ -1,13 +0,0 @@
-post_install() {
-	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-	update-mime-database usr/share/mime &> /dev/null
-    update-desktop-database -q
-}
-
-post_upgrade() {
-	post_install
-}
-
-post_remove() {
-	post_install
-}

Copied: kdepim-runtime/repos/testing-x86_64/kdepim-runtime.install (from rev 246374, kdepim-runtime/trunk/kdepim-runtime.install)
===================================================================
--- testing-x86_64/kdepim-runtime.install	                        (rev 0)
+++ testing-x86_64/kdepim-runtime.install	2015-09-15 20:14:15 UTC (rev 246375)
@@ -0,0 +1,13 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	update-mime-database usr/share/mime &> /dev/null
+    update-desktop-database -q
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}



More information about the arch-commits mailing list