From a208081ab82e4680aa88ecbc17bcf3b47a343f15 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 01:10:53 +0100 Subject: [PATCH] patch to fix knotes migration to akonadi (see https://bugs.kde.org/show_bug.cgi?id=333640) [release 4.13.0-2mamba;Mon Apr 28 2014] --- README.md | 2 + kdepim-runtime-4.13.0-knotes-migrator.patch | 462 ++++++++++++++++++++ kdepim-runtime.spec | 295 +++++++++++++ 3 files changed, 759 insertions(+) create mode 100644 kdepim-runtime-4.13.0-knotes-migrator.patch create mode 100644 kdepim-runtime.spec diff --git a/README.md b/README.md index f9ba00b..53aa59f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # kdepim-runtime +KDE PIM Runtime Environment. + diff --git a/kdepim-runtime-4.13.0-knotes-migrator.patch b/kdepim-runtime-4.13.0-knotes-migrator.patch new file mode 100644 index 0000000..2093c21 --- /dev/null +++ b/kdepim-runtime-4.13.0-knotes-migrator.patch @@ -0,0 +1,462 @@ +diff -Nru kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.cpp kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.cpp +--- kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.cpp 2014-04-08 10:37:03.000000000 +0000 ++++ kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.cpp 2014-04-28 10:03:22.727567818 +0000 +@@ -39,6 +39,7 @@ + #include + + #include ++#include + #include "maildirsettings.h" + #include + +@@ -46,53 +47,76 @@ + using namespace Akonadi; + + KNotesMigrator::KNotesMigrator() : +- KResMigrator( QLatin1String("notes"), QString() ), m_notesResource( 0 ) ++ KMigratorBase(), mIndexResource(-1), m_notesResource( 0 ) + { + Akonadi::AttributeFactory::registerAttribute(); + Akonadi::AttributeFactory::registerAttribute(); + Akonadi::AttributeFactory::registerAttribute(); + Akonadi::AttributeFactory::registerAttribute(); ++ const QString kresCfgFile = KStandardDirs::locateLocal( "config", QLatin1String( "kresources/notes/stdrc" ) ); ++ mConfig = new KConfig( kresCfgFile ); ++ const KConfigGroup generalGroup( mConfig, QLatin1String( "General" ) ); ++ mUnknownTypeResources = generalGroup.readEntry( QLatin1String( "ResourceKeys" ), QStringList() ); ++ m_notesResource = new KCal::CalendarLocal( QString() ); + } + + KNotesMigrator::~KNotesMigrator() + { + delete m_notesResource; ++ delete mConfig; ++} ++ ++void KNotesMigrator::migrate() ++{ ++ emit message( Info, i18n( "Beginning KNotes migration..." ) ); ++ migrateNext(); + } + +-bool KNotesMigrator::migrateResource( KRES::Resource* res) ++void KNotesMigrator::migrateNext() + { +- if ( res->type() == QLatin1String("file") ) ++ ++mIndexResource; ++ ++ if (mUnknownTypeResources.isEmpty() || mIndexResource >= mUnknownTypeResources.count()) { ++ emit message( Info, i18n( "KNotes migration finished" ) ); ++ deleteLater(); ++ return; ++ } ++ ++ const KConfigGroup kresCfgGroup( mConfig, QString::fromLatin1( "Resource_%1" ).arg( mUnknownTypeResources.at(mIndexResource) ) ); ++ const QString resourceType = kresCfgGroup.readEntry( QLatin1String( "ResourceType" ), QString() ); ++ if (resourceType == QLatin1String("file")) { + createAgentInstance( QLatin1String("akonadi_akonotes_resource"), this, SLOT(notesResourceCreated(KJob*)) ); +- else +- return false; +- return true; ++ } else { ++ migrateNext(); ++ } + } + + void KNotesMigrator::notesResourceCreated(KJob * job) + { + if ( job->error() ) { + migrationFailed( i18n( "Failed to create resource: %1", job->errorText() ) ); ++ migrateNext(); + return; + } + +- KRES::Resource *res = currentResource(); ++ const KConfigGroup kresCfgGroup( mConfig, QString::fromLatin1( "Resource_%1" ).arg( mUnknownTypeResources.at(mIndexResource) ) ); ++ + m_agentInstance = static_cast( job )->instance(); +- const KConfigGroup kresCfg = kresConfig( res ); +- m_agentInstance.setName( kresCfg.readEntry( "ResourceName", "Migrated Notes" ) ); ++ m_agentInstance.setName( kresCfgGroup.readEntry( "ResourceName", "Migrated Notes" ) ); + +- QString resourcePath = kresCfg.readEntry( "NotesURL" ); ++ const QString resourcePath = kresCfgGroup.readEntry( "NotesURL" ); + KUrl url( resourcePath ); + + if ( !QFile::exists( url.toLocalFile() ) ) { +- migrationCompleted( m_agentInstance ); ++ migrateNext(); + return; + } + +- m_notesResource = new KCal::CalendarLocal( QString() ); + + bool success = m_notesResource->load( url.toLocalFile() ); + if ( !success ) { + migrationFailed( i18n( "Failed to open file for reading: %1" , resourcePath ) ); ++ migrateNext(); + return; + } + +@@ -103,9 +127,11 @@ + if ( !iface->isValid() ) { + migrationFailed( i18n( "Failed to obtain D-Bus interface for remote configuration." ), m_agentInstance ); + delete iface; ++ migrateNext(); + return; + } +- iface->setReadOnly( res->readOnly() ); ++ bool isReadOnly = kresCfgGroup.readEntry("ResourceIsReadOnly", false); ++ iface->setReadOnly( isReadOnly ); + + QDBusPendingReply response = iface->setPath( KGlobal::dirs()->localxdgdatadir() + QLatin1String("/notes/") + KRandom::randomString( 10 ) ); + +@@ -149,6 +175,7 @@ + } + } + emit message( Error, i18n( "Could not find root collection for resource \"%1\"" ,m_agentInstance.identifier() ) ); ++ migrateNext(); + } + + void KNotesMigrator::startMigration() +@@ -236,5 +263,12 @@ + void KNotesMigrator::slotCollectionModify(KJob* job) + { + Q_UNUSED( job ); +- migrationCompleted( m_agentInstance ); ++ migrateNext(); + } ++ ++void KNotesMigrator::migrationFailed( const QString& errorMsg, const Akonadi::AgentInstance& instance ) ++{ ++ Q_UNUSED( instance ) ++ emit message( Error, i18n( "Migration failed: %1" ,errorMsg ) ); ++} ++ +diff -Nru kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.cpp.orig kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.cpp.orig +--- kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.cpp.orig 1970-01-01 00:00:00.000000000 +0000 ++++ kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.cpp.orig 2014-04-08 10:37:03.000000000 +0000 +@@ -0,0 +1,240 @@ ++/* ++ Copyright (c) 2008 Volker Krause ++ Copyright (c) 2013 Laurent Montel ++ ++ This library is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or (at your ++ option) any later version. ++ ++ This library is distributed in the hope that it will be useful, but WITHOUT ++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public ++ License for more details. ++ ++ You should have received a copy of the GNU Library General Public License ++ along with this library; see the file COPYING.LIB. If not, write to the ++ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ 02110-1301, USA. ++*/ ++ ++#include "knotesmigrator.h" ++#include "notelockattribute.h" ++#include "notealarmattribute.h" ++#include "notedisplayattribute.h" ++#include "showfoldernotesattribute.h" ++#include "knotesmigratorconfig.h" ++#include "knoteconfig.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "entitytreecreatejob.h" ++#include ++ ++#include ++#include "maildirsettings.h" ++#include ++ ++ ++using namespace Akonadi; ++ ++KNotesMigrator::KNotesMigrator() : ++ KResMigrator( QLatin1String("notes"), QString() ), m_notesResource( 0 ) ++{ ++ Akonadi::AttributeFactory::registerAttribute(); ++ Akonadi::AttributeFactory::registerAttribute(); ++ Akonadi::AttributeFactory::registerAttribute(); ++ Akonadi::AttributeFactory::registerAttribute(); ++} ++ ++KNotesMigrator::~KNotesMigrator() ++{ ++ delete m_notesResource; ++} ++ ++bool KNotesMigrator::migrateResource( KRES::Resource* res) ++{ ++ if ( res->type() == QLatin1String("file") ) ++ createAgentInstance( QLatin1String("akonadi_akonotes_resource"), this, SLOT(notesResourceCreated(KJob*)) ); ++ else ++ return false; ++ return true; ++} ++ ++void KNotesMigrator::notesResourceCreated(KJob * job) ++{ ++ if ( job->error() ) { ++ migrationFailed( i18n( "Failed to create resource: %1", job->errorText() ) ); ++ return; ++ } ++ ++ KRES::Resource *res = currentResource(); ++ m_agentInstance = static_cast( job )->instance(); ++ const KConfigGroup kresCfg = kresConfig( res ); ++ m_agentInstance.setName( kresCfg.readEntry( "ResourceName", "Migrated Notes" ) ); ++ ++ QString resourcePath = kresCfg.readEntry( "NotesURL" ); ++ KUrl url( resourcePath ); ++ ++ if ( !QFile::exists( url.toLocalFile() ) ) { ++ migrationCompleted( m_agentInstance ); ++ return; ++ } ++ ++ m_notesResource = new KCal::CalendarLocal( QString() ); ++ ++ bool success = m_notesResource->load( url.toLocalFile() ); ++ if ( !success ) { ++ migrationFailed( i18n( "Failed to open file for reading: %1" , resourcePath ) ); ++ return; ++ } ++ ++ OrgKdeAkonadiMaildirSettingsInterface *iface = new OrgKdeAkonadiMaildirSettingsInterface( ++ QLatin1String("org.freedesktop.Akonadi.Resource.") + m_agentInstance.identifier(), ++ QLatin1String("/Settings"), QDBusConnection::sessionBus(), this ); ++ ++ if ( !iface->isValid() ) { ++ migrationFailed( i18n( "Failed to obtain D-Bus interface for remote configuration." ), m_agentInstance ); ++ delete iface; ++ return; ++ } ++ iface->setReadOnly( res->readOnly() ); ++ ++ QDBusPendingReply response = iface->setPath( KGlobal::dirs()->localxdgdatadir() + QLatin1String("/notes/") + KRandom::randomString( 10 ) ); ++ ++ // make sure the config is saved ++ iface->writeConfig(); ++ ++ m_agentInstance.reconfigure(); ++ ++ ResourceSynchronizationJob *syncJob = new ResourceSynchronizationJob( m_agentInstance, this ); ++ connect( syncJob, SIGNAL(result(KJob*)), SLOT(syncDone(KJob*))); ++ syncJob->start(); ++} ++ ++void KNotesMigrator::syncDone(KJob *job) ++{ ++ Q_UNUSED( job ); ++ emit message( Info, i18n( "Instance \"%1\" synchronized" , m_agentInstance.identifier() ) ); ++ qDebug()<<" m_agentInstance.identifier() :"<error() ) { ++ emit message( Error, i18nc( "A job to fetch akonadi resources failed. %1 is the error string.", "Fetching resources failed: %1" , job->errorString() ) ); ++ } ++} ++ ++void KNotesMigrator::rootCollectionsRecieved( const Akonadi::Collection::List &list ) ++{ ++ emit message( Info, i18n( "Received root collections" ) ); ++ foreach ( const Collection &collection, list ) { ++ if ( collection.resource() == m_agentInstance.identifier() ) { ++ m_resourceCollection = collection; ++ startMigration(); ++ return; ++ } ++ } ++ emit message( Error, i18n( "Could not find root collection for resource \"%1\"" ,m_agentInstance.identifier() ) ); ++} ++ ++void KNotesMigrator::startMigration() ++{ ++ KCal::Journal::List oldNotesList = m_notesResource->rawJournals(); ++ Akonadi::Item::List newItemsList; ++ KConfig config(QLatin1String("globalnotesettings")); ++ KConfigGroup grp = config.group(QLatin1String("SelectNoteFolder")); ++ grp.writeEntry("DefaultFolder", m_resourceCollection.id()); ++ config.sync(); ++ ++ emit message( Info, i18np( "Starting migration of %1 note", "Starting migration of %1 notes", oldNotesList.size() ) ); ++ ++ foreach ( KCal::Journal *journal, oldNotesList ) { ++ Item newItem; ++ newItem.setMimeType( QLatin1String("text/x-vnd.akonadi.note") ); ++ newItem.setParentCollection( m_resourceCollection ); ++ KMime::Message::Ptr note( new KMime::Message() ); ++ ++ QByteArray encoding( "utf-8" ); ++ note->subject( true )->fromUnicodeString( journal->summary(), encoding ); ++ note->mainBodyPart()->fromUnicodeString( journal->description() ); ++ note->contentType( true )->setMimeType( journal->descriptionIsRich() ? "text/html" : "text/plain" ); ++ ++ note->assemble(); ++ KNotesMigratorConfig *config = new KNotesMigratorConfig(journal); ++ if (config) { ++ ++ if (config->readOnly()) { ++ newItem.addAttribute( new NoteLockAttribute() ); ++ } ++ ++ //Position/Editor/Color etc. ++ NoteDisplayAttribute *displayAttribute = new NoteDisplayAttribute(); ++ displayAttribute->setBackgroundColor(config->noteConfig()->bgColor()); ++ displayAttribute->setForegroundColor(config->noteConfig()->fgColor()); ++ displayAttribute->setSize(QSize(config->noteConfig()->width(), config->noteConfig()->height())); ++ displayAttribute->setRememberDesktop(config->noteConfig()->rememberDesktop()); ++ displayAttribute->setTabSize(config->noteConfig()->tabSize()); ++ displayAttribute->setFont(config->noteConfig()->font()); ++ displayAttribute->setTitleFont(config->noteConfig()->titleFont()); ++ displayAttribute->setDesktop(config->noteConfig()->desktop()); ++ displayAttribute->setIsHidden(config->noteConfig()->hideNote()); ++ displayAttribute->setPosition(config->noteConfig()->position()); ++ displayAttribute->setShowInTaskbar(config->noteConfig()->showInTaskbar()); ++ displayAttribute->setKeepAbove(config->noteConfig()->keepAbove()); ++ displayAttribute->setKeepBelow(config->noteConfig()->keepBelow()); ++ displayAttribute->setAutoIndent(config->noteConfig()->autoIndent()); ++ newItem.addAttribute( displayAttribute ); ++ delete config; ++ } ++ ++ //Alarm. ++ //In note we have an unique alarm. ++ if (!journal->alarms().isEmpty()) { ++ KCal::Alarm *alarm = journal->alarms().first(); ++ if (alarm->hasTime()) { ++ NoteAlarmAttribute *alarmAttribute = new NoteAlarmAttribute; ++ alarmAttribute->setDateTime(alarm->time()); ++ newItem.addAttribute( alarmAttribute ); ++ } ++ } ++ newItem.setPayload( note ); ++ newItemsList.append( newItem ); ++ } ++ ++ EntityTreeCreateJob *createJob = new EntityTreeCreateJob( QList(), newItemsList,this ); ++ connect(createJob, SIGNAL(result(KJob*)), SLOT(newResourceFilled(KJob*))); ++} ++ ++void KNotesMigrator::newResourceFilled(KJob* job) ++{ ++ Q_UNUSED( job ); ++ showDefaultCollection(); ++} ++ ++void KNotesMigrator::showDefaultCollection() ++{ ++ ShowFolderNotesAttribute *attribute = m_resourceCollection.attribute( Akonadi::Collection::AddIfMissing ); ++ Q_UNUSED(attribute); ++ Akonadi::CollectionModifyJob *job = new Akonadi::CollectionModifyJob( m_resourceCollection ); ++ connect(job, SIGNAL(result(KJob*)), SLOT(slotCollectionModify(KJob*))); ++} ++ ++void KNotesMigrator::slotCollectionModify(KJob* job) ++{ ++ Q_UNUSED( job ); ++ migrationCompleted( m_agentInstance ); ++} +diff -Nru kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.cpp.rej kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.cpp.rej +--- kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.cpp.rej 1970-01-01 00:00:00.000000000 +0000 ++++ kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.cpp.rej 2014-04-28 10:02:38.513018943 +0000 +@@ -0,0 +1,19 @@ ++--- migration/knotes/knotesmigrator.cpp +++++ migration/knotes/knotesmigrator.cpp ++@@ -290,6 +317,13 @@ ++ void KNotesMigrator::slotCollectionModify(KJob* job) ++ { ++ Q_UNUSED( job ); ++- migrationCompleted( m_agentInstance ); ++-} ++- +++ migrateNext(); +++} +++ +++void KNotesMigrator::migrationFailed( const QString& errorMsg, const Akonadi::AgentInstance& instance ) +++{ +++ Q_UNUSED( instance ) +++ emit message( Error, i18n( "Migration failed: %1" ,errorMsg ) ); +++} +++ +++ +diff -Nru kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.h kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.h +--- kdepim-runtime-4.13.0.orig/migration/knotes/knotesmigrator.h 2014-04-08 10:37:03.000000000 +0000 ++++ kdepim-runtime-4.13.0/migration/knotes/knotesmigrator.h 2014-04-28 10:02:38.514018932 +0000 +@@ -22,8 +22,7 @@ + #ifndef KNOTESMIGRATOR_H + #define KNOTESMIGRATOR_H + +-#include "kresmigrator.h" +- ++#include "kmigratorbase.h" + #include + #include + #include +@@ -37,13 +36,17 @@ + /** + * Migrate KNotes resources to Akonadi + */ +-class KNotesMigrator : public KResMigrator ++class KNotesMigrator : public KMigratorBase + { + Q_OBJECT + public: + KNotesMigrator(); + ~KNotesMigrator(); +- bool migrateResource( KRES::Resource *res ); ++ ++ /* reimp */ void migrate(); ++ /* reimp */ void migrateNext(); ++protected: ++ /* reimp */ void migrationFailed( const QString& errorMsg, const Akonadi::AgentInstance& instance = Akonadi::AgentInstance() ); + + private slots: + void notesResourceCreated( KJob* job ); +@@ -58,10 +61,13 @@ + void showDefaultCollection(); + + private: ++ int mIndexResource; ++ QStringList mUnknownTypeResources; + Akonadi::Collection m_resourceCollection; +- AgentInstance m_agentInstance; ++ Akonadi::AgentInstance m_agentInstance; + + KCal::CalendarLocal *m_notesResource; ++ KConfig *mConfig; + }; + + #endif +diff -Nru kdepim-runtime-4.13.0.orig/migration/knotes/main.cpp kdepim-runtime-4.13.0/migration/knotes/main.cpp +--- kdepim-runtime-4.13.0.orig/migration/knotes/main.cpp 2014-04-08 10:37:03.000000000 +0000 ++++ kdepim-runtime-4.13.0/migration/knotes/main.cpp 2014-04-28 10:02:38.514018932 +0000 +@@ -64,8 +64,6 @@ + args->clear(); + + KNotesMigrator *migrator = new KNotesMigrator; +- migrator->setBridgingOnly(false); +- migrator->setOmitClientBridge(false); + if ( infoDialog && migrator ) { + infoDialog->migratorAdded(); + QObject::connect( migrator, SIGNAL(message(KMigratorBase::MessageType,QString)), diff --git a/kdepim-runtime.spec b/kdepim-runtime.spec new file mode 100644 index 0000000..7d64f42 --- /dev/null +++ b/kdepim-runtime.spec @@ -0,0 +1,295 @@ +Name: kdepim-runtime +Version: 4.13.0 +Release: 2mamba +Summary: KDE PIM Runtime Environment +Group: Graphical Desktop/Applications/Office +Vendor: openmamba +Distribution: openmamba +Packager: Davide Madrisan +URL: http://www.kde.org/ +Source: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdepim-runtime-%{version}.tar.xz +Patch0: kdepim-runtime-4.13.0-knotes-migrator.patch +License: GPL +BuildRequires: cmake +BuildRequires: kdelibs4-devel >= %{version} +BuildRequires: kdepimlibs4-devel >= %{version} +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: kdelibs4-devel +BuildRequires: kdepimlibs4-devel +BuildRequires: libakonadi-devel +BuildRequires: libgcc +BuildRequires: libqt4-devel +BuildRequires: libsoprano-devel +BuildRequires: libstdc++6-devel +BuildRequires: libxml2-devel +BuildRequires: strigi-devel +## AUTOBUILDREQ-END +BuildRequires: libkolab-devel +BuildRequires: libkolabxml-devel +BuildRequires: libkgapi-devel +BuildRequires: libnepomuk-core-devel +Requires: libqt4 >= %{_qt4_version} +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +%{summary}. + +%package devel +Summary: Development files for for %{name} +Group: Development/Applications +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +This package contains header files needed if you wish to build applications based on %{name}. + +%prep +%setup -q +%patch0 -p1 + +%build +%cmake_kde4 -d build +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall -C build + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +/sbin/ldconfig +touch --no-create %{_kde4_icondir}/hicolor &>/dev/null +exit 0 + +%postun +/sbin/ldconfig +if [ $1 -eq 0 ]; then + update-desktop-database -q &>/dev/null + update-mime-database %{_kde4_mimedir} &>/dev/null + touch --no-create %{_kde4_icondir}/hicolor &>/dev/null + gtk-update-icon-cache %{_kde4_icondir}/hicolor &>/dev/null +fi +exit 0 + +%posttrans +update-desktop-database -q &>/dev/null +update-mime-database %{_kde4_mimedir} >&/dev/null +gtk-update-icon-cache %{_kde4_icondir}/hicolor &>/dev/null +exit 0 + +%files +%defattr(-,root,root) +%{_datadir}/dbus-1/interfaces/org.kde.Akonadi.MixedMaildir.Settings.xml +%{_kde4_autostartdir}/kaddressbookmigrator.desktop +%{_kde4_bindir}/accountwizard +#%{_kde4_bindir}/akonadi2xml +%{_kde4_bindir}/akonadi_* +%{_kde4_bindir}/akonaditray +%{_kde4_bindir}/gidmigrator +%{_kde4_bindir}/kaddressbookmigrator +%{_kde4_bindir}/kjotsmigrator +%{_kde4_bindir}/kmail-migrator +%{_kde4_bindir}/knotes-migrator +%{_kde4_bindir}/kres-migrator +#%{_kde4_bindir}/nepomukpimindexerutility +#%{_kde4_libdir}/libakonadi-xml.so.* +%{_kde4_libdir}/libkdepim-copy.so.* +%{_kde4_libdir}/libmaildir.so.* +%{_kde4_libdir}/libakonadi-filestore.so.* +%{_kde4_libdir}/libfolderarchivesettings.so.* +%{_kde4_libdir}/libkmindexreader.so.* +%{_kde4_libdir}/kde4/accountwizard_plugin.so +%{_kde4_libdir}/kde4/akonadi_*.so +%{_kde4_libdir}/kde4/kabc_akonadi.so +%{_kde4_libdir}/kde4/kcal_akonadi.so +%{_kde4_libdir}/kde4/kcm_akonadi_resources.so +%{_kde4_libdir}/kde4/kcm_akonadi_server.so +%{_kde4_libdir}/kde4/kcm_akonadi.so +%{_kde4_libdir}/kde4/kio_akonadi.so +%{_kde4_libdir}/kde4/imports/org/kde/* +%{_kde4_configdir}/kmail-migratorrc +%{_kde4_configdir}/kres-migratorrc +%{_kde4_configdir}/accountwizard.knsrc +%{_kde4_datadir}/akonadi/* +#%{_kde4_datadir}/akonadi_knut_resource/knut-template.xml +%{_kde4_datadir}/akonadi_kolabproxy_resource/akonadi_kolabproxy_resource.notifyrc +%{_kde4_datadir}/akonadi_maildispatcher_agent/akonadi_maildispatcher_agent.notifyrc +%{_kde4_datadir}/akonadi_newmailnotifier_agent/akonadi_newmailnotifier_agent.notifyrc +#%{_kde4_datadir}/nepomukpimindexerutility/nepomukpimindexerutility.rc +%{_kde4_dbusinterfacesdir}/org.kde.Akonadi.Maildir.Settings.xml +%{_kde4_icondir}/hicolor/*/apps/kolab.png +%{_kde4_icondir}/hicolor/*/apps/ox.png +%{_kde4_icondir}/hicolor/*/apps/akonaditray.png +%{_kde4_icondir}/hicolor/scalable/apps/akonaditray.svgz +%{_kde4_servicesdir}/akonadi/davgroupware-providers/* +%{_kde4_servicetypesdir}/davgroupwareprovider.desktop +%{_kde4_servicesdir}/akonadi.protocol +%{_kde4_servicesdir}/kcm_akonadi.desktop +%{_kde4_servicesdir}/kcm_akonadi_*.desktop +%{_kde4_servicesdir}/kresources/*/akonadi.desktop +#%{_kde4_servicesdir}/nepomukcalendarfeeder.desktop +#%{_kde4_servicesdir}/nepomukcontactfeeder.desktop +#%{_kde4_servicesdir}/nepomukmailfeeder.desktop +#%{_kde4_servicesdir}/nepomuknotefeeder.desktop +#%{_kde4_servicetypesdir}/akonadinepomukfeeder.desktop +#%{_kde4_sharedir}/ontology/kde/aneo.ontology +#%{_kde4_sharedir}/ontology/kde/aneo.trig +%{_kde4_sharedir}/akonadi/agents/*.desktop +%{_kde4_xdgappsdir}/accountwizard.desktop +%{_kde4_xdgappsdir}/akonaditray.desktop +%{_kde4_xdgmimedir}/kdepim-mime.xml +%{_kde4_xdgmimedir}/accountwizard-mime.xml +%{_kde4_kconfupdatedir}/newmailnotifier.upd +%doc COPYING COPYING.LIB + +%files devel +%defattr(-,root,root,-) +%{_kde4_libdir}/lib*.so +#%{_kde4_libdir}/libnepomukfeederpluginlib.a + +%changelog +* Mon Apr 28 2014 Silvan Calarco 4.13.0-2mamba +- patch to fix knotes migration to akonadi (see https://bugs.kde.org/show_bug.cgi?id=333640) + +* Wed Apr 23 2014 Automatic Build System 4.13.0-1mamba +- automatic version update by autodist + +* Tue Apr 01 2014 Automatic Build System 4.12.4-1mamba +- automatic version update by autodist + +* Wed Mar 05 2014 Automatic Build System 4.12.3-1mamba +- automatic version update by autodist + +* Wed Feb 05 2014 Automatic Build System 4.12.2-1mamba +- automatic version update by autodist + +* Tue Jan 14 2014 Automatic Build System 4.12.1-1mamba +- automatic version update by autodist + +* Sun Dec 22 2013 Automatic Build System 4.12.0-1mamba +- automatic version update by autodist + +* Thu Dec 05 2013 Automatic Build System 4.11.4-1mamba +- automatic version update by autodist + +* Mon Dec 02 2013 Silvan Calarco 4.11.3-2mamba +- rebuilt with boost 1.55 + +* Wed Nov 06 2013 Automatic Build System 4.11.3-1mamba +- automatic version update by autodist + +* Tue Oct 01 2013 Automatic Build System 4.11.2-1mamba +- automatic version update by autodist + +* Wed Sep 04 2013 Automatic Build System 4.11.1-1mamba +- automatic version update by autodist + +* Fri Aug 16 2013 Automatic Build System 4.11.0-1mamba +- automatic version update by autodist + +* Thu Jul 04 2013 Automatic Build System 4.10.5-1mamba +- automatic version update by autodist + +* Wed Jun 05 2013 Automatic Build System 4.10.4-1mamba +- automatic version update by autodist + +* Tue May 07 2013 Automatic Build System 4.10.3-1mamba +- automatic version update by autodist + +* Wed Apr 03 2013 Automatic Build System 4.10.2-1mamba +- automatic version update by autodist + +* Tue Mar 05 2013 Automatic Build System 4.10.1-1mamba +- automatic version update by autodist + +* Thu Feb 14 2013 Automatic Build System 4.10.0-1mamba +- automatic version update by autodist + +* Thu Jan 03 2013 Automatic Build System 4.9.5-1mamba +- automatic version update by autodist + +* Sat Dec 15 2012 Silvan Calarco 4.9.4-2mamba +- libboost 1.52 mass rebuild + +* Wed Dec 05 2012 Automatic Build System 4.9.4-1mamba +- automatic version update by autodist + +* Wed Nov 07 2012 Automatic Build System 4.9.3-1mamba +- automatic version update by autodist + +* Thu Oct 04 2012 Automatic Build System 4.9.2-1mamba +- automatic version update by autodist + +* Thu Sep 06 2012 Automatic Build System 4.9.1-1mamba +- automatic version update by autodist + +* Sat Aug 11 2012 Automatic Build System 4.9.0-1mamba +- automatic version update by autodist + +* Fri Jun 08 2012 Automatic Build System 4.8.4-1mamba +- automatic version update by autodist + +* Fri May 04 2012 Automatic Build System 4.8.3-1mamba +- automatic version update by autodist + +* Fri Apr 06 2012 Automatic Build System 4.8.2-1mamba +- automatic version update by autodist + +* Tue Mar 20 2012 Automatic Build System 4.8.1-1mamba +- automatic version update by autodist + +* Sun Dec 11 2011 Automatic Build System 4.7.4-1mamba +- automatic version update by autodist + +* Thu Nov 03 2011 Automatic Build System 4.7.3-1mamba +- automatic version update by autodist + +* Tue Oct 11 2011 Automatic Build System 4.7.2-1mamba +- automatic version update by autodist + +* Thu Sep 08 2011 Automatic Build System 4.7.1-1mamba +- automatic version update by autodist + +* Mon Aug 08 2011 Automatic Build System 4.7.0-1mamba +- update to 4.7.0 + +* Sat Jan 15 2011 Silvan Calarco 4.4.9-1mamba +- update to 4.4.9 + +* Sun Oct 24 2010 Davide Madrisan 4.4.7-1mamba +- update to 4.4.7 + +* Thu Sep 16 2010 Silvan Calarco 4.4.6-1mamba +- update to 4.4.6 + +* Wed Sep 08 2010 Silvan Calarco 4.4.5-2mamba +- rebuilt with kdelibs and kdepimlibs 4.5.1 + +* Thu Jul 01 2010 Automatic Build System 4.4.5-1mamba +- automatic update to 4.4.5 by autodist + +* Wed Jun 02 2010 Automatic Build System 4.4.4-1mamba +- automatic update to 4.4.4 by autodist + +* Mon May 10 2010 Silvan Calarco 4.4.3-2mamba +- ... add a changelog entry + +* Mon May 10 2010 Silvan Calarco 4.4.3-1mamba +- update to 4.4.3 + +* Thu Apr 01 2010 Davide Madrisan 4.4.2-1mamba +- update to 4.4.2 (Codename "Colibri") + +* Wed Mar 03 2010 Davide Madrisan 4.4.1-1mamba +- update to 4.4.1 (Codename "Clara") + +* Wed Feb 10 2010 Davide Madrisan 4.4.0-1mamba +- update to 4.4.0 (Codename "Caikaku") + +* Wed Feb 03 2010 Davide Madrisan 4.3.98-1mamba +- update to 4.3.98 (KDE Software Compilation 4.4 rc3 Codename "Coming Closer") + +* Tue Feb 02 2010 Davide Madrisan 4.3.95-1mamba +- package created by autospec