removed prison-frameworks because already present in the platform repo under the name prison-kf5, created the kdepimlibs4 pkg to replace the kdepimlibs, rebuild some kde packges with kdepimbli4 as deps

This commit is contained in:
AlmAck 2015-08-11 17:24:26 +00:00
parent 4c62643d79
commit 1e8a9ec77d
14 changed files with 275 additions and 52 deletions

View File

@ -5,11 +5,11 @@ _pkgname="kuser"
pkgname="kdeadmin-kuser"
arch=('x86_64')
pkgver=${_kdever}
pkgrel=1
pkgrel=2
url="http://www.kde.org/"
license=('GPL' 'LGPL' 'FDL')
options=('docs' 'debug')
makedepends=('pkg-config' 'cmake' 'automoc4' 'docbook-xsl' 'kdepimlibs')
makedepends=('pkg-config' 'cmake' 'automoc4' 'docbook-xsl' 'kdepimlibs4')
pkgdesc="Manage users and groups"
screenshot="http://www.kde.org/images/screenshots/kuser.png"
depends=("kde-runtime")

View File

@ -238,6 +238,7 @@ gpgmepp
kcontacts
TODO check .install files
kdepimlibs
kdepimlibs4
akonadi-search
kholidays
kalarmcal
@ -249,7 +250,7 @@ kimap
libkgapi
libkolabxml
#libkolab --> ERROR: https://paste.kde.org/p1srmmghi
kdepim-runtime --> rebuild with deps lib
kdepim-runtime --> rebuild with libkolab lib
kontactinterface
libktnef
kdepim

View File

@ -4,10 +4,10 @@ source ../kdeapps.conf
pkgname="kdenetwork-kget"
arch=('x86_64')
pkgver=${_kdever}
pkgrel=1
pkgrel=2
pkgdesc="Download manager"
url="http://kde.org/applications/internet/kget/"
depends=("kde-runtime" "kdepimlibs" 'qca' 'kwebkitpart>=0.9.6' 'libktorrent>=1.0.4' 'libmms')
depends=("kde-runtime" "kdepimlibs4" 'qca' 'kwebkitpart>=0.9.6' 'libktorrent>=1.0.4' 'libmms')
groups=("kde" "kdenetwork" "kde-uninstall")
categories=('network')
conflicts=("kdenetwork-common" "kdenetwork-doc")

View File

@ -5,10 +5,10 @@ _pkgname="kopete"
pkgname="kdenetwork-kopete"
arch=('x86_64')
pkgver=${_kdever}
pkgrel=1
pkgrel=2
pkgdesc="Kopete, the instant messenger"
url="http://kde.org/applications/internet/kopete/"
depends=("kde-runtime" "kdepimlibs>=${_libsver}" 'qca-ossl'
depends=("kde-runtime" "kdepimlibs4" 'qca-ossl'
'libotr>=4.0.0' 'libmsn' 'libidn' 'qimageblitz' 'libxss' 'libv4l' 'msilbc' 'libgadu')
groups=("kde" "kdenetwork" "kde-uninstall")
categories=('communication')

View File

@ -5,7 +5,7 @@ pkgbase=kdepim
pkgname=(akonadiconsole akregator blogilo kdepim-console kaddressbook kalarm kleopatra kmail knotes
kontact korganizer ktnef libkdepim)
pkgver=${_kdever}
pkgrel=1
pkgrel=2
arch=('x86_64')
url='http://pim.kde.org'
license=('GPL' 'LGPL' 'FDL')
@ -200,9 +200,9 @@ package_libkdepim() {
pkgdesc='Common libraries and resources for KDE PIM applications'
groups=()
depends=('kdepim-runtime' 'gpgmepp' 'grantlee-qt5' 'akonadi-search' 'knewstuff' 'kldap' 'kdnssd')
conflicts=('kdepim-libkdepim')
provides=('kdepim-libkdepim') # to allow smooth upgrade from 4.14
replaces=('kdepim-libkdepim')
conflicts=('kdepimlib' 'kdepim-common')
provides=('kdepimlib' 'kdepim-common') # to allow smooth upgrade from 4.14
replaces=('kdepimlib' 'kdepim-common')
url='http://pim.kde.org'
install=kdepim.install
for _i in agents/sendlateragent calendarsupport grantleetheme incidenceeditor-ng kdgantt2 libkdepim \

View File

@ -4,12 +4,12 @@ source ../kdeapps.conf
pkgbase=kdepimlibs
pkgname=(akonadi-client akonadi-contact akonadi-mime akonadi-notes akonadi-socialutils kio-pim)
pkgver=${_kdever}
pkgrel=1
pkgrel=2
pkgdesc="KDE PIM Libraries"
arch=('x86_64')
url='https://projects.kde.org/kdepimlibs'
license=(GPL LGPL)
makedepends=(extra-cmake-modules qt5-tools kcalcore kmbox kcontacts kldap akonadi prison-frameworks boost kdoctools)
makedepends=(extra-cmake-modules qt5-tools kcalcore kmbox kcontacts kldap akonadi prison-kf5 boost kdoctools)
options=('docs' 'debug')
source=("$_mirror/${pkgbase}-$_kdever.tar.xz")
sha256sums=(`grep ${pkgbase}-$_kdever.tar.xz ../checksums.txt | cut -d " " -f1`)
@ -32,7 +32,7 @@ package_akonadi-client() {
}
package_akonadi-contact() {
depends=(akonadi-client kmime kcontacts kcalcore prison-frameworks)
depends=(akonadi-client kmime kcontacts kcalcore prison-kf5)
cd build/akonadi-contact
make DESTDIR="$pkgdir" install

42
kdepimlibs4/PKGBUILD Normal file
View File

@ -0,0 +1,42 @@
# Include global configuration
source ../kdeapps.conf
pkgname=kdepimlibs4
pkgver=${_libsver}
_kdeappver=15.04.3
pkgrel=1
pkgdesc="KDE4 PIM Libraries"
arch=('x86_64')
url='https://projects.kde.org/projects/kde/kdepimlibs'
license=('GPL' 'LGPL')
depends=('kdelibs' 'gpgme' 'libakonadi-qt4' 'libical' 'prison' 'qjson')
makedepends=('cmake' 'automoc4' 'boost' 'cyrus-sasl' 'akonadi-qt4-dbus')
conflicts=('kdepimlibs')
provides=('kdepimlibs')
replaces=('kdepimlibs')
install='kdepimlibs4.install'
source=("http://download.kde.org/stable/applications/${_kdeappver}/src/kdepimlibs-${pkgver}.tar.xz")
sha1sums=('8db2f59b8a33f4d1bbebfdff8b772d30669c9932')
prepare() {
mkdir -p build
}
build() {
cd build
cmake ../kdepimlibs-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DKDE4_BUILD_TESTS=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_INSTALL_PREFIX=/usr
make
}
package() {
cd build
make DESTDIR="${pkgdir}" install
# Conflicts with KF5 libs
rm -r "$pkgdir"/usr/{bin,share/{config.kcfg,mime}}
}

View File

@ -0,0 +1,11 @@
post_install() {
update-mime-database usr/share/mime &> /dev/null
}
post_upgrade() {
post_install
}
post_remove() {
post_install
}

View File

@ -5,12 +5,12 @@ pkgname="kdeutils-kgpg"
_pkgname="kgpg"
arch=('x86_64')
pkgver=${_kdever}
pkgrel=1
pkgrel=2
pkgdesc="GPG encryption and key management"
url="http://www.kde.org"
license=('GPL' 'LGPL' 'FDL')
options=('docs' 'debug')
depends=("kde-runtime" "kdelibs>=${_libsver}" "kdepimlibs>=${_libsver}" "kdepim-runtime>=${_libsver}")
depends=("kde-runtime" "kdelibs>=${_libsver}" "kdepimlibs4" "kdepim-runtime>=${_libsver}")
makedepends=('pkg-config' 'cmake' 'automoc4' "kdelibs>=${_libsver}" 'docbook-xsl')
conflicts=("kdeutils-common")
groups=("kde" "kdeutils" "kde-uninstall")

View File

@ -8,11 +8,11 @@ pkgname=('kdewebdev-kfilereplace'
'kdewebdev-klinkstatus')
arch=('x86_64')
pkgver=${_kdever}
pkgrel=1
pkgrel=2
url="http://www.kde.org/"
license=('GPL' 'LGPL' 'FDL')
options=('docs' 'debug')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'ruby' "kdepimlibs>=${_libsver}"
makedepends=('pkgconfig' 'cmake' 'automoc4' 'ruby' "kdepimlibs4"
"kde-runtime" 'tidyhtml' "kdepim-runtime>=${_libsver}" 'kdoctools')
source=($_mirror/${pkgbase}-$_kdever.tar.xz)
sha256sums=(`grep ${pkgbase}-$_kdever.tar.xz ../checksums.txt | cut -d" " -f1`)
@ -74,7 +74,7 @@ package_kdewebdev-kommander() {
package_kdewebdev-klinkstatus() {
pkgdesc="Link checking utility"
depends=("kde-runtime" "kdelibs>=${_libsver}" 'tidyhtml' "kdepimlibs>=${_libsver}") # "kdepim-runtime>=${_kdever}"
depends=("kde-runtime" "kdelibs>=${_libsver}" 'tidyhtml' "kdepimlibs4") # "kdepim-runtime>=${_kdever}"
conflicts=('kdewebdev-common' 'kdewebdev-doc')
groups=("kde" "${pkgbase}" "kde-uninstall")
categories=('utils')

56
libakonadi-qt4/PKGBUILD Normal file
View File

@ -0,0 +1,56 @@
# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgbase=libakonadi-qt4
pkgname=(libakonadi-qt4 akonadi-qt4-dbus)
pkgver=1.13.0
pkgrel=1
pkgdesc="Qt4 akonadi libraries"
arch=('x86_64')
url='http://community.kde.org/KDE_PIM/Akonadi'
license=('LGPL')
depends=('boost-libs' 'qt' 'libxslt')
makedepends=('cmake' 'automoc4' 'boost' 'postgresql' 'mariadb')
conflicts=('akonadi<2')
install="${pkgname}.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 \
-DDATABASE_BACKEND=SQLITE \
-DWITH_SOPRANO=OFF
make
}
package_libakonadi-qt4() {
cd build
make DESTDIR="${pkgdir}" install
# conflicts with akonadi
rm -r "$pkgdir"/usr/{bin,share}
}
package_akonadi-qt4-dbus() {
depends=()
conflicts=(akonadi)
mkdir -p "$pkgdir"/usr/share/dbus-1/interfaces
install -m644 "$srcdir"/akonadi-$pkgver/interfaces/*.xml "$pkgdir"/usr/share/dbus-1/interfaces/
}

View File

@ -0,0 +1,135 @@
From: Dan Vrátil <dvratil@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));

View File

@ -0,0 +1,11 @@
post_install() {
update-mime-database usr/share/mime &> /dev/null
}
post_upgrade() {
post_install
}
post_remove() {
post_install
}

View File

@ -1,33 +0,0 @@
pkgname=prison-frameworks
pkgver=1.1.1.20141027
_commit=8f25e5a557ca402d3df538c6d0bdad4481b26656
pkgrel=1
pkgdesc="A barcode API to produce QRCode barcodes and DataMatrix barcodes"
arch=('i686' 'x86_64')
url='https://projects.kde.org/projects/kdesupport/prison'
license=('GPL')
depends=('qt5-base' 'libdmtx' 'qrencode')
makedepends=('extra-cmake-modules' 'git')
source=("git://anongit.kde.org/prison.git#commit=$_commit")
md5sums=('SKIP')
prepare() {
mkdir build
}
build() {
cd build
cmake ../prison \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_INSTALL_DIR=lib \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DBUILD_TESTING=OFF
make
}
package() {
cd build
make DESTDIR="${pkgdir}" install
}