Hello community, here is the log from the commit of package akonadi-search for openSUSE:Factory checked in at 2016-01-23 01:05:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/akonadi-search (Old) and /work/SRC/openSUSE:Factory/.akonadi-search.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "akonadi-search" Changes: -------- --- /work/SRC/openSUSE:Factory/akonadi-search/akonadi-search.changes 2016-01-10 13:03:53.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.akonadi-search.new/akonadi-search.changes 2016-01-23 01:05:14.000000000 +0100 @@ -1,0 +2,9 @@ +Sat Jan 9 18:08:27 UTC 2016 - tittiatcoke@gmail.com + +- Update to KDE Applications 15.12.1 + * KDE Applications 15.12.1 + * https://www.kde.org/announcements/announce-applications-15.12.1.php + * boo#961265 + + +------------------------------------------------------------------- Old: ---- akonadi-search-15.12.0.tar.xz New: ---- akonadi-search-15.12.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ akonadi-search.spec ++++++ --- /var/tmp/diff_new_pack.DhgWhC/_old 2016-01-23 01:05:15.000000000 +0100 +++ /var/tmp/diff_new_pack.DhgWhC/_new 2016-01-23 01:05:15.000000000 +0100 @@ -17,7 +17,7 @@ Name: akonadi-search -Version: 15.12.0 +Version: 15.12.1 Release: 0 Summary: Framework for searching and managing PIM metadata License: GPL-2.0+ and LGPL-2.1+ and LGPL-3.0 ++++++ akonadi-search-15.12.0.tar.xz -> akonadi-search-15.12.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/CMakeLists.txt new/akonadi-search-15.12.1/CMakeLists.txt --- old/akonadi-search-15.12.0/CMakeLists.txt 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/CMakeLists.txt 2015-12-21 08:56:00.000000000 +0100 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8.12) project(AkonadiSearch) -set(PROJECT_VERSION "5.0.80") +set(PROJECT_VERSION "5.1.00") set(KF5_VERSION "5.16.0") # ECM setup find_package(ECM 5.16.0 REQUIRED NO_MODULE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/debug/akonadisearchdebugsearchpathcombobox.cpp new/akonadi-search-15.12.1/debug/akonadisearchdebugsearchpathcombobox.cpp --- old/akonadi-search-15.12.0/debug/akonadisearchdebugsearchpathcombobox.cpp 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/debug/akonadisearchdebugsearchpathcombobox.cpp 2015-12-21 08:56:00.000000000 +0100 @@ -17,6 +17,8 @@ #include "akonadisearchdebugsearchpathcombobox.h" #include <QStandardPaths> +#include <QDir> +#include <AkonadiCore/ServerManager> using namespace Akonadi::Search; AkonadiSearchDebugSearchPathComboBox::AkonadiSearchDebugSearchPathComboBox(QWidget *parent) @@ -30,7 +32,7 @@ } -QString AkonadiSearchDebugSearchPathComboBox::searchPath() const +QString AkonadiSearchDebugSearchPathComboBox::searchPath() { const int currentPathIndex = currentIndex(); if (currentPathIndex > -1) { @@ -50,20 +52,19 @@ addItem(QStringLiteral("Calendars"), Calendars); } -QString AkonadiSearchDebugSearchPathComboBox::pathFromEnum(SearchType type) const +QString AkonadiSearchDebugSearchPathComboBox::pathFromEnum(SearchType type) { - const QString xdgpath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1Char('/'); switch (type) { case Contacts: - return QString(xdgpath + QLatin1String("baloo/contacts/")); + return defaultLocations(QStringLiteral("contacts")); case ContactCompleter: - return QString(xdgpath + QLatin1String("baloo/emailContacts/")); + return defaultLocations(QStringLiteral("emailContacts")); case Emails: - return QString(xdgpath + QLatin1String("baloo/email/")); + return defaultLocations(QStringLiteral("email")); case Notes: - return QString(xdgpath + QLatin1String("baloo/notes/")); + return defaultLocations(QStringLiteral("notes")); case Calendars: - return QString(xdgpath + QLatin1String("baloo/calendars/")); + return defaultLocations(QStringLiteral("calendars")); } return QString(); } @@ -75,3 +76,30 @@ setCurrentIndex(indexType); } } + +QString AkonadiSearchDebugSearchPathComboBox::defaultLocations(const QString &dbName) +{ + // First look into the old location from Baloo times in ~/.local/share/baloo, + // because we don't migrate the database files automatically. + QString basePath; + if (Akonadi::ServerManager::hasInstanceIdentifier()) { + basePath = QStringLiteral("baloo/instances/%1").arg(Akonadi::ServerManager::instanceIdentifier()); + } else { + basePath = QStringLiteral("baloo"); + } + QString dbPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/%1/%2/").arg(basePath, dbName); + if (QDir(dbPath).exists()) { + return dbPath; + } + + // If the database does not exist in old Baloo folders, than use the new + // location in Akonadi's datadir in ~/.local/share/akonadi/search_db. + if (Akonadi::ServerManager::hasInstanceIdentifier()) { + basePath = QStringLiteral("akonadi/instance/%1/search_db").arg(Akonadi::ServerManager::instanceIdentifier()); + } else { + basePath = QStringLiteral("akonadi/search_db"); + } + dbPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/%1/%2/").arg(basePath, dbName); + QDir().mkpath(dbPath); + return dbPath; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/debug/akonadisearchdebugsearchpathcombobox.h new/akonadi-search-15.12.1/debug/akonadisearchdebugsearchpathcombobox.h --- old/akonadi-search-15.12.0/debug/akonadisearchdebugsearchpathcombobox.h 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/debug/akonadisearchdebugsearchpathcombobox.h 2015-12-21 08:56:00.000000000 +0100 @@ -39,11 +39,12 @@ }; ~AkonadiSearchDebugSearchPathComboBox(); - QString searchPath() const; + QString searchPath(); - QString pathFromEnum(SearchType type) const; + QString pathFromEnum(SearchType type); void setSearchType(SearchType type); private: + QString defaultLocations(const QString &dbname); void initialize(); }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/lib/collectionquery.cpp new/akonadi-search-15.12.1/lib/collectionquery.cpp --- old/akonadi-search-15.12.0/lib/collectionquery.cpp 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/lib/collectionquery.cpp 2015-12-21 08:56:00.000000000 +0100 @@ -44,7 +44,7 @@ : Query(), d(new Private) { - d->databaseDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/baloo/collections/"); + d->databaseDir = defaultLocation(QStringLiteral("collections")); d->limit = 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/lib/contactcompleter.cpp new/akonadi-search-15.12.1/lib/contactcompleter.cpp --- old/akonadi-search-15.12.0/lib/contactcompleter.cpp 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/lib/contactcompleter.cpp 2015-12-21 08:56:00.000000000 +0100 @@ -21,6 +21,7 @@ */ #include "contactcompleter.h" +#include "query.h" #include <xapian.h> #include <QStandardPaths> @@ -39,7 +40,7 @@ QStringList ContactCompleter::complete() { - const QString dir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/baloo/emailContacts/"); + const QString dir = Query::defaultLocation(QStringLiteral("emailContacts")); Xapian::Database db; try { db = Xapian::Database(QFile::encodeName(dir).constData()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/lib/contactquery.cpp new/akonadi-search-15.12.1/lib/contactquery.cpp --- old/akonadi-search-15.12.0/lib/contactquery.cpp 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/lib/contactquery.cpp 2015-12-21 08:56:00.000000000 +0100 @@ -106,7 +106,7 @@ ResultIterator ContactQuery::exec() { - const QString dir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/baloo/contacts/"); + const QString dir = defaultLocation(QStringLiteral("contacts")); Xapian::Database db; try { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/lib/emailquery.cpp new/akonadi-search-15.12.1/lib/emailquery.cpp --- old/akonadi-search-15.12.0/lib/emailquery.cpp 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/lib/emailquery.cpp 2015-12-21 08:56:00.000000000 +0100 @@ -190,7 +190,7 @@ ResultIterator EmailQuery::exec() { - const QString dir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/baloo/email/"); + const QString dir = defaultLocation(QStringLiteral("email")); Xapian::Database db; try { db = Xapian::Database(QFile::encodeName(dir).constData()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/lib/notequery.cpp new/akonadi-search-15.12.1/lib/notequery.cpp --- old/akonadi-search-15.12.0/lib/notequery.cpp 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/lib/notequery.cpp 2015-12-21 08:56:00.000000000 +0100 @@ -79,7 +79,7 @@ ResultIterator NoteQuery::exec() { - const QString dir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/baloo/notes/"); + const QString dir = defaultLocation(QStringLiteral("notes")); Xapian::Database db; try { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/lib/query.cpp new/akonadi-search-15.12.1/lib/query.cpp --- old/akonadi-search-15.12.0/lib/query.cpp 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/lib/query.cpp 2015-12-21 08:56:00.000000000 +0100 @@ -28,6 +28,9 @@ #include <QDebug> #include <QJsonDocument> +#include <AkonadiCore/ServerManager> +#include <QStandardPaths> +#include <QDir> using namespace Akonadi::Search::PIM; @@ -75,3 +78,30 @@ return cq; } + +QString Query::defaultLocation(const QString &dbName) +{ + // First look into the old location from Baloo times in ~/.local/share/baloo, + // because we don't migrate the database files automatically. + QString basePath; + if (Akonadi::ServerManager::hasInstanceIdentifier()) { + basePath = QStringLiteral("baloo/instances/%1").arg(Akonadi::ServerManager::instanceIdentifier()); + } else { + basePath = QStringLiteral("baloo"); + } + QString dbPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/%1/%2/").arg(basePath, dbName); + if (QDir(dbPath).exists()) { + return dbPath; + } + + // If the database does not exist in old Baloo folders, than use the new + // location in Akonadi's datadir in ~/.local/share/akonadi/search_db. + if (Akonadi::ServerManager::hasInstanceIdentifier()) { + basePath = QStringLiteral("akonadi/instance/%1/search_db").arg(Akonadi::ServerManager::instanceIdentifier()); + } else { + basePath = QStringLiteral("akonadi/search_db"); + } + dbPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/%1/%2/").arg(basePath, dbName); + QDir().mkpath(dbPath); + return dbPath; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-search-15.12.0/lib/query.h new/akonadi-search-15.12.1/lib/query.h --- old/akonadi-search-15.12.0/lib/query.h 2015-12-09 13:02:20.000000000 +0100 +++ new/akonadi-search-15.12.1/lib/query.h 2015-12-21 08:56:00.000000000 +0100 @@ -43,6 +43,7 @@ virtual ResultIterator exec() = 0; static Query *fromJSON(const QByteArray &json); + static QString defaultLocation(const QString &dbName); }; }