[arch-commits] Commit in akonadi-qt4/repos (12 files)

Antonio Rojas arojas at archlinux.org
Tue Aug 18 06:03:35 UTC 2015


    Date: Tuesday, August 18, 2015 @ 08:03:34
  Author: arojas
Revision: 243851

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

Added:
  akonadi-qt4/repos/testing-i686/PKGBUILD
    (from rev 243850, akonadi-qt4/trunk/PKGBUILD)
  akonadi-qt4/repos/testing-i686/akonadi-qt4.install
    (from rev 243850, akonadi-qt4/trunk/akonadi-qt4.install)
  akonadi-qt4/repos/testing-i686/dont-leak-old-external-payload-files.patch
    (from rev 243850, akonadi-qt4/trunk/dont-leak-old-external-payload-files.patch)
  akonadi-qt4/repos/testing-x86_64/PKGBUILD
    (from rev 243850, akonadi-qt4/trunk/PKGBUILD)
  akonadi-qt4/repos/testing-x86_64/akonadi-qt4.install
    (from rev 243850, akonadi-qt4/trunk/akonadi-qt4.install)
  akonadi-qt4/repos/testing-x86_64/dont-leak-old-external-payload-files.patch
    (from rev 243850, akonadi-qt4/trunk/dont-leak-old-external-payload-files.patch)
Deleted:
  akonadi-qt4/repos/testing-i686/PKGBUILD
  akonadi-qt4/repos/testing-i686/akonadi-qt4.install
  akonadi-qt4/repos/testing-i686/dont-leak-old-external-payload-files.patch
  akonadi-qt4/repos/testing-x86_64/PKGBUILD
  akonadi-qt4/repos/testing-x86_64/akonadi-qt4.install
  akonadi-qt4/repos/testing-x86_64/dont-leak-old-external-payload-files.patch

-----------------------------------------------------------+
 /PKGBUILD                                                 |  124 +++++
 /akonadi-qt4.install                                      |   22 
 /dont-leak-old-external-payload-files.patch               |  270 ++++++++++++
 testing-i686/PKGBUILD                                     |   63 --
 testing-i686/akonadi-qt4.install                          |   11 
 testing-i686/dont-leak-old-external-payload-files.patch   |  135 ------
 testing-x86_64/PKGBUILD                                   |   63 --
 testing-x86_64/akonadi-qt4.install                        |   11 
 testing-x86_64/dont-leak-old-external-payload-files.patch |  135 ------
 9 files changed, 416 insertions(+), 418 deletions(-)

Deleted: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD	2015-08-18 06:00:53 UTC (rev 243850)
+++ testing-i686/PKGBUILD	2015-08-18 06:03:34 UTC (rev 243851)
@@ -1,63 +0,0 @@
-# $Id$
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-
-pkgbase=akonadi-qt4
-pkgname=(libakonadi-qt4 akonadi-qt4)
-pkgver=1.13.0
-pkgrel=4
-pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data (Qt4 version)"
-arch=('i686' 'x86_64')
-url='http://community.kde.org/KDE_PIM/Akonadi'
-license=('LGPL')
-makedepends=('cmake' 'automoc4' 'boost' 'postgresql' 'mariadb' 'qt4' 'libxslt')
-install="$pkgbase.install"
-source=("http://download.kde.org/stable/akonadi/src/akonadi-${pkgver}.tar.bz2"
-        dont-leak-old-external-payload-files.patch)
-md5sums=('84eb2e471bd6bdfe54a2a2f1d858c07d'
-         '9711e300dde3775a38637daa3c20befe')
-
-prepare() {
-  mkdir -p build
-
-  cd akonadi-$pkgver
-  # https://bugs.kde.org/show_bug.cgi?id=341884
-  patch -p1 -i ../dont-leak-old-external-payload-files.patch
-}
-
-build() {
-  cd build
-  cmake ../akonadi-$pkgver \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE \
-    -DQT_QMAKE_EXECUTABLE=qmake-qt4 \
-    -DDATABASE_BACKEND=SQLITE \
-    -DWITH_SOPRANO=OFF
-  make
-}
-
-package_libakonadi-qt4() {
-  pkgdesc='Qt4 akonadi libraries'
-  depends=('qt4')
-  conflicts=('akonadi<15')
-
-  cd build
-  make DESTDIR="$pkgdir" install
-
-# conflicts with akonadi
-  rm -r "$pkgdir"/usr/{bin,share}
-}
-
-package_akonadi-qt4() {
-  depends=(libakonadi-qt4 boost-libs)
-  conflicts=(akonadi)
-  replaces=('akonadi<15')
-
-  cd build
-  make DESTDIR="$pkgdir" install
-
-# provided by libakonadi-qt4
-  rm -r "$pkgdir"/usr/{lib,include}
-}

Copied: akonadi-qt4/repos/testing-i686/PKGBUILD (from rev 243850, akonadi-qt4/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2015-08-18 06:03:34 UTC (rev 243851)
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgbase=akonadi-qt4
+pkgname=(libakonadi-qt4 akonadi-qt4)
+pkgver=1.13.0
+pkgrel=5
+pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data (Qt4 version)"
+arch=('i686' 'x86_64')
+url='http://community.kde.org/KDE_PIM/Akonadi'
+license=('LGPL')
+makedepends=('cmake' 'automoc4' 'boost' 'postgresql' 'mariadb' 'qt4' 'libxslt')
+install="$pkgbase.install"
+source=("http://download.kde.org/stable/akonadi/src/akonadi-${pkgver}.tar.bz2"
+        dont-leak-old-external-payload-files.patch)
+md5sums=('84eb2e471bd6bdfe54a2a2f1d858c07d'
+         '9711e300dde3775a38637daa3c20befe')
+
+prepare() {
+  mkdir -p build
+
+  cd akonadi-$pkgver
+  # https://bugs.kde.org/show_bug.cgi?id=341884
+  patch -p1 -i ../dont-leak-old-external-payload-files.patch
+}
+
+build() {
+  cd build
+  cmake ../akonadi-$pkgver \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE \
+    -DQT_QMAKE_EXECUTABLE=qmake-qt4 \
+    -DWITH_SOPRANO=OFF
+  make
+}
+
+package_libakonadi-qt4() {
+  pkgdesc='Qt4 akonadi libraries'
+  depends=('qt4')
+  conflicts=('akonadi<15')
+
+  cd build
+  make DESTDIR="$pkgdir" install
+
+# conflicts with akonadi
+  rm -r "$pkgdir"/usr/{bin,share}
+}
+
+package_akonadi-qt4() {
+  depends=(libakonadi-qt4 boost-libs mariadb)
+  conflicts=(akonadi)
+  replaces=('akonadi<15')
+
+  cd build
+  make DESTDIR="$pkgdir" install
+
+# provided by libakonadi-qt4
+  rm -r "$pkgdir"/usr/{lib,include}
+}

Deleted: testing-i686/akonadi-qt4.install
===================================================================
--- testing-i686/akonadi-qt4.install	2015-08-18 06:00:53 UTC (rev 243850)
+++ testing-i686/akonadi-qt4.install	2015-08-18 06:03:34 UTC (rev 243851)
@@ -1,11 +0,0 @@
-post_install() {
-	update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
-	post_install
-}
-
-post_remove() {
-	post_install
-}

Copied: akonadi-qt4/repos/testing-i686/akonadi-qt4.install (from rev 243850, akonadi-qt4/trunk/akonadi-qt4.install)
===================================================================
--- testing-i686/akonadi-qt4.install	                        (rev 0)
+++ testing-i686/akonadi-qt4.install	2015-08-18 06:03:34 UTC (rev 243851)
@@ -0,0 +1,11 @@
+post_install() {
+	update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}

Deleted: testing-i686/dont-leak-old-external-payload-files.patch
===================================================================
--- testing-i686/dont-leak-old-external-payload-files.patch	2015-08-18 06:00:53 UTC (rev 243850)
+++ testing-i686/dont-leak-old-external-payload-files.patch	2015-08-18 06:03:34 UTC (rev 243851)
@@ -1,135 +0,0 @@
-From: Dan Vrátil <dvratil at redhat.com>
-Date: Mon, 29 Jun 2015 20:45:11 +0000
-Subject: Don't leak old external payload files
-X-Git-Url: http://quickgit.kde.org/?p=akonadi.git&a=commitdiff&h=9c0dc6b3f0826d32eac310b2e7ecd858ca3df681
----
-Don't leak old external payload files
-
-Actually delete old payload files after we increase the payload revision or
-switch from external to internal payload. This caused ~/.local/share/akonadi/file_db_data
-to grow insanely for all users, leaving them with many duplicated files (just with
-different revisions).
-
-It is recommended that users run akonadictl fsck to clean up the leaked payload
-files.
-
-Note that there won't be any more releases of Akonadi 1.13 (and this has been
-fixed in master already), so I strongly recommend distributions to pick this
-patch into their packaging.
-
-BUG: 341884
-CCBUG: 338402
----
-
-
---- a/server/src/storage/partstreamer.cpp
-+++ b/server/src/storage/partstreamer.cpp
-@@ -290,6 +290,12 @@
-         mDataChanged = true;
-     }
- 
-+    // If the part is external, remember it's current file name
-+    QString originalFile;
-+    if (part.isValid() && part.external()) {
-+        originalFile = PartHelper::resolveAbsolutePath(part.data());
-+    }
-+
-     part.setPartType(partType);
-     part.setVersion(partVersion);
-     part.setPimItemId(mItem.id());
-@@ -306,6 +312,14 @@
-         *changed = mDataChanged;
-     }
- 
-+    if (!originalFile.isEmpty()) {
-+        // If the part was external but is not anymore, or if it's still external
-+        // but the filename has changed (revision update), remove the original file
-+        if (!part.external() || (part.external() && originalFile != PartHelper::resolveAbsolutePath(part.data()))) {
-+            PartHelper::removeFile(originalFile);
-+        }
-+    }
-+
-     return ok;
- }
- 
-
---- a/server/tests/unittest/partstreamertest.cpp
-+++ b/server/tests/unittest/partstreamertest.cpp
-@@ -91,6 +91,7 @@
-         QTest::addColumn<qint64>("expectedPartSize");
-         QTest::addColumn<bool>("expectedChanged");
-         QTest::addColumn<bool>("isExternal");
-+        QTest::addColumn<int>("version");
-         QTest::addColumn<PimItem>("pimItem");
- 
-         PimItem item;
-@@ -101,22 +102,22 @@
-         QVERIFY(item.insert());
- 
-         // Order of these tests matters!
--        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << item;
--        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << item;
--        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << item;
--        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << item;
--        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << item;
--        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << item;
-+        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << -1 << item;
-+        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << 0 << item;
-+        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << 1 << item;
-+        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << 2 << item;
-+        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << 2 << item;
-+        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << 2 << item;
-     }
- 
-     void testStreamer()
-     {
--        return;
-         QFETCH(QByteArray, expectedPartName);
-         QFETCH(QByteArray, expectedData);
-         QFETCH(qint64, expectedPartSize);
-         QFETCH(bool, expectedChanged);
-         QFETCH(bool, isExternal);
-+        QFETCH(int, version);
-         QFETCH(PimItem, pimItem);
- 
-         FakeConnection connection;
-@@ -160,17 +161,18 @@
- 
-         PimItem item = PimItem::retrieveById(pimItem.id());
-         const QVector<Part> parts = item.parts();
--        QVERIFY(parts.count() == 1);
-+        QCOMPARE(parts.count(), 1);
-         const Part part = parts[0];
-         QCOMPARE(part.datasize(), expectedPartSize);
-         QCOMPARE(part.external(), isExternal);
-+        qDebug() << part.version() << part.data();
-         const QByteArray data = part.data();
-         if (isExternal) {
-             QVERIFY(streamerSpy.count() == 1);
-             QVERIFY(streamerSpy.first().count() == 1);
-             const Response response = streamerSpy.first().first().value<Akonadi::Server::Response>();
-             const QByteArray str = response.asString();
--            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version()) + "]";
-+            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(version) + "]";
-             QCOMPARE(QString::fromUtf8(str), QString::fromUtf8(expectedResponse));
- 
-             QFile file(PartHelper::resolveAbsolutePath(data));
-@@ -182,7 +184,7 @@
-             QCOMPARE(fileData, expectedData);
- 
-             // Make sure no previous versions are left behind in file_db_data
--            for (int i = 0; i < part.version(); ++i) {
-+            for (int i = 0; i < version; ++i) {
-                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
-                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
-                 QVERIFY(!QFile::exists(filePath));
-@@ -194,7 +196,7 @@
-             QCOMPARE(data, expectedData);
- 
-             // Make sure nothing is left behind in file_db_data
--            for (int i = 0; i <= part.version(); ++i) {
-+            for (int i = 0; i <= version; ++i) {
-                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
-                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
-                 QVERIFY(!QFile::exists(filePath));
-

Copied: akonadi-qt4/repos/testing-i686/dont-leak-old-external-payload-files.patch (from rev 243850, akonadi-qt4/trunk/dont-leak-old-external-payload-files.patch)
===================================================================
--- testing-i686/dont-leak-old-external-payload-files.patch	                        (rev 0)
+++ testing-i686/dont-leak-old-external-payload-files.patch	2015-08-18 06:03:34 UTC (rev 243851)
@@ -0,0 +1,135 @@
+From: Dan Vrátil <dvratil at redhat.com>
+Date: Mon, 29 Jun 2015 20:45:11 +0000
+Subject: Don't leak old external payload files
+X-Git-Url: http://quickgit.kde.org/?p=akonadi.git&a=commitdiff&h=9c0dc6b3f0826d32eac310b2e7ecd858ca3df681
+---
+Don't leak old external payload files
+
+Actually delete old payload files after we increase the payload revision or
+switch from external to internal payload. This caused ~/.local/share/akonadi/file_db_data
+to grow insanely for all users, leaving them with many duplicated files (just with
+different revisions).
+
+It is recommended that users run akonadictl fsck to clean up the leaked payload
+files.
+
+Note that there won't be any more releases of Akonadi 1.13 (and this has been
+fixed in master already), so I strongly recommend distributions to pick this
+patch into their packaging.
+
+BUG: 341884
+CCBUG: 338402
+---
+
+
+--- a/server/src/storage/partstreamer.cpp
++++ b/server/src/storage/partstreamer.cpp
+@@ -290,6 +290,12 @@
+         mDataChanged = true;
+     }
+ 
++    // If the part is external, remember it's current file name
++    QString originalFile;
++    if (part.isValid() && part.external()) {
++        originalFile = PartHelper::resolveAbsolutePath(part.data());
++    }
++
+     part.setPartType(partType);
+     part.setVersion(partVersion);
+     part.setPimItemId(mItem.id());
+@@ -306,6 +312,14 @@
+         *changed = mDataChanged;
+     }
+ 
++    if (!originalFile.isEmpty()) {
++        // If the part was external but is not anymore, or if it's still external
++        // but the filename has changed (revision update), remove the original file
++        if (!part.external() || (part.external() && originalFile != PartHelper::resolveAbsolutePath(part.data()))) {
++            PartHelper::removeFile(originalFile);
++        }
++    }
++
+     return ok;
+ }
+ 
+
+--- a/server/tests/unittest/partstreamertest.cpp
++++ b/server/tests/unittest/partstreamertest.cpp
+@@ -91,6 +91,7 @@
+         QTest::addColumn<qint64>("expectedPartSize");
+         QTest::addColumn<bool>("expectedChanged");
+         QTest::addColumn<bool>("isExternal");
++        QTest::addColumn<int>("version");
+         QTest::addColumn<PimItem>("pimItem");
+ 
+         PimItem item;
+@@ -101,22 +102,22 @@
+         QVERIFY(item.insert());
+ 
+         // Order of these tests matters!
+-        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << item;
+-        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << item;
+-        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << item;
+-        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << item;
+-        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << item;
+-        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << item;
++        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << -1 << item;
++        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << 0 << item;
++        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << 1 << item;
++        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << 2 << item;
++        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << 2 << item;
++        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << 2 << item;
+     }
+ 
+     void testStreamer()
+     {
+-        return;
+         QFETCH(QByteArray, expectedPartName);
+         QFETCH(QByteArray, expectedData);
+         QFETCH(qint64, expectedPartSize);
+         QFETCH(bool, expectedChanged);
+         QFETCH(bool, isExternal);
++        QFETCH(int, version);
+         QFETCH(PimItem, pimItem);
+ 
+         FakeConnection connection;
+@@ -160,17 +161,18 @@
+ 
+         PimItem item = PimItem::retrieveById(pimItem.id());
+         const QVector<Part> parts = item.parts();
+-        QVERIFY(parts.count() == 1);
++        QCOMPARE(parts.count(), 1);
+         const Part part = parts[0];
+         QCOMPARE(part.datasize(), expectedPartSize);
+         QCOMPARE(part.external(), isExternal);
++        qDebug() << part.version() << part.data();
+         const QByteArray data = part.data();
+         if (isExternal) {
+             QVERIFY(streamerSpy.count() == 1);
+             QVERIFY(streamerSpy.first().count() == 1);
+             const Response response = streamerSpy.first().first().value<Akonadi::Server::Response>();
+             const QByteArray str = response.asString();
+-            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version()) + "]";
++            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(version) + "]";
+             QCOMPARE(QString::fromUtf8(str), QString::fromUtf8(expectedResponse));
+ 
+             QFile file(PartHelper::resolveAbsolutePath(data));
+@@ -182,7 +184,7 @@
+             QCOMPARE(fileData, expectedData);
+ 
+             // Make sure no previous versions are left behind in file_db_data
+-            for (int i = 0; i < part.version(); ++i) {
++            for (int i = 0; i < version; ++i) {
+                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
+                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
+                 QVERIFY(!QFile::exists(filePath));
+@@ -194,7 +196,7 @@
+             QCOMPARE(data, expectedData);
+ 
+             // Make sure nothing is left behind in file_db_data
+-            for (int i = 0; i <= part.version(); ++i) {
++            for (int i = 0; i <= version; ++i) {
+                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
+                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
+                 QVERIFY(!QFile::exists(filePath));
+

Deleted: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD	2015-08-18 06:00:53 UTC (rev 243850)
+++ testing-x86_64/PKGBUILD	2015-08-18 06:03:34 UTC (rev 243851)
@@ -1,63 +0,0 @@
-# $Id$
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-
-pkgbase=akonadi-qt4
-pkgname=(libakonadi-qt4 akonadi-qt4)
-pkgver=1.13.0
-pkgrel=4
-pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data (Qt4 version)"
-arch=('i686' 'x86_64')
-url='http://community.kde.org/KDE_PIM/Akonadi'
-license=('LGPL')
-makedepends=('cmake' 'automoc4' 'boost' 'postgresql' 'mariadb' 'qt4' 'libxslt')
-install="$pkgbase.install"
-source=("http://download.kde.org/stable/akonadi/src/akonadi-${pkgver}.tar.bz2"
-        dont-leak-old-external-payload-files.patch)
-md5sums=('84eb2e471bd6bdfe54a2a2f1d858c07d'
-         '9711e300dde3775a38637daa3c20befe')
-
-prepare() {
-  mkdir -p build
-
-  cd akonadi-$pkgver
-  # https://bugs.kde.org/show_bug.cgi?id=341884
-  patch -p1 -i ../dont-leak-old-external-payload-files.patch
-}
-
-build() {
-  cd build
-  cmake ../akonadi-$pkgver \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE \
-    -DQT_QMAKE_EXECUTABLE=qmake-qt4 \
-    -DDATABASE_BACKEND=SQLITE \
-    -DWITH_SOPRANO=OFF
-  make
-}
-
-package_libakonadi-qt4() {
-  pkgdesc='Qt4 akonadi libraries'
-  depends=('qt4')
-  conflicts=('akonadi<15')
-
-  cd build
-  make DESTDIR="$pkgdir" install
-
-# conflicts with akonadi
-  rm -r "$pkgdir"/usr/{bin,share}
-}
-
-package_akonadi-qt4() {
-  depends=(libakonadi-qt4 boost-libs)
-  conflicts=(akonadi)
-  replaces=('akonadi<15')
-
-  cd build
-  make DESTDIR="$pkgdir" install
-
-# provided by libakonadi-qt4
-  rm -r "$pkgdir"/usr/{lib,include}
-}

Copied: akonadi-qt4/repos/testing-x86_64/PKGBUILD (from rev 243850, akonadi-qt4/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2015-08-18 06:03:34 UTC (rev 243851)
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgbase=akonadi-qt4
+pkgname=(libakonadi-qt4 akonadi-qt4)
+pkgver=1.13.0
+pkgrel=5
+pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data (Qt4 version)"
+arch=('i686' 'x86_64')
+url='http://community.kde.org/KDE_PIM/Akonadi'
+license=('LGPL')
+makedepends=('cmake' 'automoc4' 'boost' 'postgresql' 'mariadb' 'qt4' 'libxslt')
+install="$pkgbase.install"
+source=("http://download.kde.org/stable/akonadi/src/akonadi-${pkgver}.tar.bz2"
+        dont-leak-old-external-payload-files.patch)
+md5sums=('84eb2e471bd6bdfe54a2a2f1d858c07d'
+         '9711e300dde3775a38637daa3c20befe')
+
+prepare() {
+  mkdir -p build
+
+  cd akonadi-$pkgver
+  # https://bugs.kde.org/show_bug.cgi?id=341884
+  patch -p1 -i ../dont-leak-old-external-payload-files.patch
+}
+
+build() {
+  cd build
+  cmake ../akonadi-$pkgver \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE \
+    -DQT_QMAKE_EXECUTABLE=qmake-qt4 \
+    -DWITH_SOPRANO=OFF
+  make
+}
+
+package_libakonadi-qt4() {
+  pkgdesc='Qt4 akonadi libraries'
+  depends=('qt4')
+  conflicts=('akonadi<15')
+
+  cd build
+  make DESTDIR="$pkgdir" install
+
+# conflicts with akonadi
+  rm -r "$pkgdir"/usr/{bin,share}
+}
+
+package_akonadi-qt4() {
+  depends=(libakonadi-qt4 boost-libs mariadb)
+  conflicts=(akonadi)
+  replaces=('akonadi<15')
+
+  cd build
+  make DESTDIR="$pkgdir" install
+
+# provided by libakonadi-qt4
+  rm -r "$pkgdir"/usr/{lib,include}
+}

Deleted: testing-x86_64/akonadi-qt4.install
===================================================================
--- testing-x86_64/akonadi-qt4.install	2015-08-18 06:00:53 UTC (rev 243850)
+++ testing-x86_64/akonadi-qt4.install	2015-08-18 06:03:34 UTC (rev 243851)
@@ -1,11 +0,0 @@
-post_install() {
-	update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
-	post_install
-}
-
-post_remove() {
-	post_install
-}

Copied: akonadi-qt4/repos/testing-x86_64/akonadi-qt4.install (from rev 243850, akonadi-qt4/trunk/akonadi-qt4.install)
===================================================================
--- testing-x86_64/akonadi-qt4.install	                        (rev 0)
+++ testing-x86_64/akonadi-qt4.install	2015-08-18 06:03:34 UTC (rev 243851)
@@ -0,0 +1,11 @@
+post_install() {
+	update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}

Deleted: testing-x86_64/dont-leak-old-external-payload-files.patch
===================================================================
--- testing-x86_64/dont-leak-old-external-payload-files.patch	2015-08-18 06:00:53 UTC (rev 243850)
+++ testing-x86_64/dont-leak-old-external-payload-files.patch	2015-08-18 06:03:34 UTC (rev 243851)
@@ -1,135 +0,0 @@
-From: Dan Vrátil <dvratil at redhat.com>
-Date: Mon, 29 Jun 2015 20:45:11 +0000
-Subject: Don't leak old external payload files
-X-Git-Url: http://quickgit.kde.org/?p=akonadi.git&a=commitdiff&h=9c0dc6b3f0826d32eac310b2e7ecd858ca3df681
----
-Don't leak old external payload files
-
-Actually delete old payload files after we increase the payload revision or
-switch from external to internal payload. This caused ~/.local/share/akonadi/file_db_data
-to grow insanely for all users, leaving them with many duplicated files (just with
-different revisions).
-
-It is recommended that users run akonadictl fsck to clean up the leaked payload
-files.
-
-Note that there won't be any more releases of Akonadi 1.13 (and this has been
-fixed in master already), so I strongly recommend distributions to pick this
-patch into their packaging.
-
-BUG: 341884
-CCBUG: 338402
----
-
-
---- a/server/src/storage/partstreamer.cpp
-+++ b/server/src/storage/partstreamer.cpp
-@@ -290,6 +290,12 @@
-         mDataChanged = true;
-     }
- 
-+    // If the part is external, remember it's current file name
-+    QString originalFile;
-+    if (part.isValid() && part.external()) {
-+        originalFile = PartHelper::resolveAbsolutePath(part.data());
-+    }
-+
-     part.setPartType(partType);
-     part.setVersion(partVersion);
-     part.setPimItemId(mItem.id());
-@@ -306,6 +312,14 @@
-         *changed = mDataChanged;
-     }
- 
-+    if (!originalFile.isEmpty()) {
-+        // If the part was external but is not anymore, or if it's still external
-+        // but the filename has changed (revision update), remove the original file
-+        if (!part.external() || (part.external() && originalFile != PartHelper::resolveAbsolutePath(part.data()))) {
-+            PartHelper::removeFile(originalFile);
-+        }
-+    }
-+
-     return ok;
- }
- 
-
---- a/server/tests/unittest/partstreamertest.cpp
-+++ b/server/tests/unittest/partstreamertest.cpp
-@@ -91,6 +91,7 @@
-         QTest::addColumn<qint64>("expectedPartSize");
-         QTest::addColumn<bool>("expectedChanged");
-         QTest::addColumn<bool>("isExternal");
-+        QTest::addColumn<int>("version");
-         QTest::addColumn<PimItem>("pimItem");
- 
-         PimItem item;
-@@ -101,22 +102,22 @@
-         QVERIFY(item.insert());
- 
-         // Order of these tests matters!
--        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << item;
--        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << item;
--        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << item;
--        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << item;
--        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << item;
--        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << item;
-+        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << -1 << item;
-+        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << 0 << item;
-+        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << 1 << item;
-+        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << 2 << item;
-+        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << 2 << item;
-+        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << 2 << item;
-     }
- 
-     void testStreamer()
-     {
--        return;
-         QFETCH(QByteArray, expectedPartName);
-         QFETCH(QByteArray, expectedData);
-         QFETCH(qint64, expectedPartSize);
-         QFETCH(bool, expectedChanged);
-         QFETCH(bool, isExternal);
-+        QFETCH(int, version);
-         QFETCH(PimItem, pimItem);
- 
-         FakeConnection connection;
-@@ -160,17 +161,18 @@
- 
-         PimItem item = PimItem::retrieveById(pimItem.id());
-         const QVector<Part> parts = item.parts();
--        QVERIFY(parts.count() == 1);
-+        QCOMPARE(parts.count(), 1);
-         const Part part = parts[0];
-         QCOMPARE(part.datasize(), expectedPartSize);
-         QCOMPARE(part.external(), isExternal);
-+        qDebug() << part.version() << part.data();
-         const QByteArray data = part.data();
-         if (isExternal) {
-             QVERIFY(streamerSpy.count() == 1);
-             QVERIFY(streamerSpy.first().count() == 1);
-             const Response response = streamerSpy.first().first().value<Akonadi::Server::Response>();
-             const QByteArray str = response.asString();
--            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version()) + "]";
-+            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(version) + "]";
-             QCOMPARE(QString::fromUtf8(str), QString::fromUtf8(expectedResponse));
- 
-             QFile file(PartHelper::resolveAbsolutePath(data));
-@@ -182,7 +184,7 @@
-             QCOMPARE(fileData, expectedData);
- 
-             // Make sure no previous versions are left behind in file_db_data
--            for (int i = 0; i < part.version(); ++i) {
-+            for (int i = 0; i < version; ++i) {
-                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
-                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
-                 QVERIFY(!QFile::exists(filePath));
-@@ -194,7 +196,7 @@
-             QCOMPARE(data, expectedData);
- 
-             // Make sure nothing is left behind in file_db_data
--            for (int i = 0; i <= part.version(); ++i) {
-+            for (int i = 0; i <= version; ++i) {
-                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
-                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
-                 QVERIFY(!QFile::exists(filePath));
-

Copied: akonadi-qt4/repos/testing-x86_64/dont-leak-old-external-payload-files.patch (from rev 243850, akonadi-qt4/trunk/dont-leak-old-external-payload-files.patch)
===================================================================
--- testing-x86_64/dont-leak-old-external-payload-files.patch	                        (rev 0)
+++ testing-x86_64/dont-leak-old-external-payload-files.patch	2015-08-18 06:03:34 UTC (rev 243851)
@@ -0,0 +1,135 @@
+From: Dan Vrátil <dvratil at redhat.com>
+Date: Mon, 29 Jun 2015 20:45:11 +0000
+Subject: Don't leak old external payload files
+X-Git-Url: http://quickgit.kde.org/?p=akonadi.git&a=commitdiff&h=9c0dc6b3f0826d32eac310b2e7ecd858ca3df681
+---
+Don't leak old external payload files
+
+Actually delete old payload files after we increase the payload revision or
+switch from external to internal payload. This caused ~/.local/share/akonadi/file_db_data
+to grow insanely for all users, leaving them with many duplicated files (just with
+different revisions).
+
+It is recommended that users run akonadictl fsck to clean up the leaked payload
+files.
+
+Note that there won't be any more releases of Akonadi 1.13 (and this has been
+fixed in master already), so I strongly recommend distributions to pick this
+patch into their packaging.
+
+BUG: 341884
+CCBUG: 338402
+---
+
+
+--- a/server/src/storage/partstreamer.cpp
++++ b/server/src/storage/partstreamer.cpp
+@@ -290,6 +290,12 @@
+         mDataChanged = true;
+     }
+ 
++    // If the part is external, remember it's current file name
++    QString originalFile;
++    if (part.isValid() && part.external()) {
++        originalFile = PartHelper::resolveAbsolutePath(part.data());
++    }
++
+     part.setPartType(partType);
+     part.setVersion(partVersion);
+     part.setPimItemId(mItem.id());
+@@ -306,6 +312,14 @@
+         *changed = mDataChanged;
+     }
+ 
++    if (!originalFile.isEmpty()) {
++        // If the part was external but is not anymore, or if it's still external
++        // but the filename has changed (revision update), remove the original file
++        if (!part.external() || (part.external() && originalFile != PartHelper::resolveAbsolutePath(part.data()))) {
++            PartHelper::removeFile(originalFile);
++        }
++    }
++
+     return ok;
+ }
+ 
+
+--- a/server/tests/unittest/partstreamertest.cpp
++++ b/server/tests/unittest/partstreamertest.cpp
+@@ -91,6 +91,7 @@
+         QTest::addColumn<qint64>("expectedPartSize");
+         QTest::addColumn<bool>("expectedChanged");
+         QTest::addColumn<bool>("isExternal");
++        QTest::addColumn<int>("version");
+         QTest::addColumn<PimItem>("pimItem");
+ 
+         PimItem item;
+@@ -101,22 +102,22 @@
+         QVERIFY(item.insert());
+ 
+         // Order of these tests matters!
+-        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << item;
+-        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << item;
+-        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << item;
+-        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << item;
+-        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << item;
+-        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << item;
++        QTest::newRow("item 1, internal") << QByteArray("PLD:DATA") << QByteArray("123") << 3ll << true << false << -1 << item;
++        QTest::newRow("item 1, change to external") << QByteArray("PLD:DATA") << QByteArray("123456789") << 9ll << true << true << 0 << item;
++        QTest::newRow("item 1, update external") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << true << true << 1 << item;
++        QTest::newRow("item 1, external, no change") << QByteArray("PLD:DATA") << QByteArray("987654321") << 9ll << false << true << 2 << item;
++        QTest::newRow("item 1, change to internal") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << true << false << 2 << item;
++        QTest::newRow("item 1, internal, no change") << QByteArray("PLD:DATA") << QByteArray("1234") << 4ll << false << false << 2 << item;
+     }
+ 
+     void testStreamer()
+     {
+-        return;
+         QFETCH(QByteArray, expectedPartName);
+         QFETCH(QByteArray, expectedData);
+         QFETCH(qint64, expectedPartSize);
+         QFETCH(bool, expectedChanged);
+         QFETCH(bool, isExternal);
++        QFETCH(int, version);
+         QFETCH(PimItem, pimItem);
+ 
+         FakeConnection connection;
+@@ -160,17 +161,18 @@
+ 
+         PimItem item = PimItem::retrieveById(pimItem.id());
+         const QVector<Part> parts = item.parts();
+-        QVERIFY(parts.count() == 1);
++        QCOMPARE(parts.count(), 1);
+         const Part part = parts[0];
+         QCOMPARE(part.datasize(), expectedPartSize);
+         QCOMPARE(part.external(), isExternal);
++        qDebug() << part.version() << part.data();
+         const QByteArray data = part.data();
+         if (isExternal) {
+             QVERIFY(streamerSpy.count() == 1);
+             QVERIFY(streamerSpy.first().count() == 1);
+             const Response response = streamerSpy.first().first().value<Akonadi::Server::Response>();
+             const QByteArray str = response.asString();
+-            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version()) + "]";
++            const QByteArray expectedResponse = "+ STREAM [FILE " + QByteArray::number(part.id()) + "_r" + QByteArray::number(version) + "]";
+             QCOMPARE(QString::fromUtf8(str), QString::fromUtf8(expectedResponse));
+ 
+             QFile file(PartHelper::resolveAbsolutePath(data));
+@@ -182,7 +184,7 @@
+             QCOMPARE(fileData, expectedData);
+ 
+             // Make sure no previous versions are left behind in file_db_data
+-            for (int i = 0; i < part.version(); ++i) {
++            for (int i = 0; i < version; ++i) {
+                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
+                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
+                 QVERIFY(!QFile::exists(filePath));
+@@ -194,7 +196,7 @@
+             QCOMPARE(data, expectedData);
+ 
+             // Make sure nothing is left behind in file_db_data
+-            for (int i = 0; i <= part.version(); ++i) {
++            for (int i = 0; i <= version; ++i) {
+                 const QByteArray fileName = QByteArray::number(part.id()) + "_r" + QByteArray::number(part.version());
+                 const QString filePath = PartHelper::resolveAbsolutePath(fileName);
+                 QVERIFY(!QFile::exists(filePath));
+



More information about the arch-commits mailing list