Hello community, here is the log from the commit of package kdepim-runtime for openSUSE:Factory checked in at 2017-05-08 18:49:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdepim-runtime (Old) and /work/SRC/openSUSE:Factory/.kdepim-runtime.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdepim-runtime" Mon May 8 18:49:58 2017 rev:22 rq:490403 version:17.04.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kdepim-runtime/kdepim-runtime.changes 2017-03-15 00:54:15.113092158 +0100 +++ /work/SRC/openSUSE:Factory/.kdepim-runtime.new/kdepim-runtime.changes 2017-05-08 18:50:00.806334340 +0200 @@ -1,0 +2,47 @@ +Sat Apr 22 12:30:21 UTC 2017 - lbeltr...@kde.org + +- Add upstream patches to fix different issues with IMAP: + * disable-gmail-when-compiled-without-xoauth.patch + * fix-idle-support-with-gssapi.patch + * fix-migration-to-new-gmail-authentication.patch + * fix-missing-connect-when-restarting-idle.patch + +------------------------------------------------------------------- +Sun Apr 16 10:44:56 CEST 2017 - lbeltr...@kde.org + +- Update to 17.04.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/announce-applications-17.04.0.php +- Changes since 17.03.90: + * not necessary to use += operator here + * Use directly QFileInfo::exists here + * Remove unused method + * Minor optimization + * Add remote ID information to "Corrupt Event", to make debugging possible. + * using QFileInfo::exists( ) here too + * Improve debug message + * Improve debug output for the MyRights noise (which shouldn't happen anymore ;) + * SessionPool: set the namespaces variables from the namespace job. + +------------------------------------------------------------------- +Wed Apr 12 20:25:31 CEST 2017 - lbeltr...@kde.org + +- Update to 17.03.90 + * New bugfix release + * For more details please see: + * https://www.kde.org/announcements/announce-applications-17.04-rc.php +- Changes since 17.03.80: + * None + +------------------------------------------------------------------- +Sat Mar 25 23:10:24 CET 2017 - lbeltr...@kde.org + +- Update to 17.03.80 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/announce-applications-17.03.80.php +- Changes since 16.12.3: + * Too many changes to list here + +------------------------------------------------------------------- Old: ---- kdepim-runtime-16.12.3.tar.xz New: ---- disable-gmail-when-compiled-without-xoauth.patch fix-idle-support-with-gssapi.patch fix-migration-to-new-gmail-authentication.patch fix-missing-connect-when-restarting-idle.patch kdepim-runtime-17.04.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdepim-runtime.spec ++++++ --- /var/tmp/diff_new_pack.e9Prc5/_old 2017-05-08 18:50:01.690209486 +0200 +++ /var/tmp/diff_new_pack.e9Prc5/_new 2017-05-08 18:50:01.690209486 +0200 @@ -16,17 +16,27 @@ # -%define kf5_version 5.26.0 -# Latest stable Applications (e.g. 16.08 in KA, but 16.12.3 in KUA) -%{!?_kapp_version: %global _kapp_version %(echo %{version}| awk -F. '{print $1"."$2}')} +%bcond_without lang + Name: kdepim-runtime -Version: 16.12.3 +Version: 17.04.0 Release: 0 +%define kf5_version 5.26.0 +# Latest stable Applications (e.g. 16.08 in KA, but 16.11.80 in KUA) +%{!?_kapp_version: %global _kapp_version %(echo %{version}| awk -F. '{print $1"."$2}')} Summary: Base package of kdepim License: GPL-2.0 Group: System/GUI/KDE Url: http://www.kde.org Source: kdepim-runtime-%{version}.tar.xz +# PATCH-FIX-UPSTREAM +Patch0: fix-migration-to-new-gmail-authentication.patch +# PATCH-FIX-UPSTREAM +Patch1: disable-gmail-when-compiled-without-xoauth.patch +# PATCH-FIX-UPSTREAM +Patch2: fix-missing-connect-when-restarting-idle.patch +# PATCH-FIX-UPSTREAM +Patch3: fix-idle-support-with-gssapi.patch BuildRequires: akonadi-calendar-devel >= %{_kapp_version} BuildRequires: akonadi-contact-devel >= %{_kapp_version} BuildRequires: akonadi-mime-devel >= %{_kapp_version} @@ -38,6 +48,7 @@ BuildRequires: kcodecs-devel >= %{kf5_version} BuildRequires: kconfig-devel >= %{kf5_version} BuildRequires: kcontacts-devel >= %{_kapp_version} +BuildRequires: kdav-devel >= %{_kapp_version} BuildRequires: kdelibs4support-devel >= %{kf5_version} BuildRequires: kf5-filesystem BuildRequires: kidentitymanagement-devel >= %{_kapp_version} @@ -49,8 +60,6 @@ BuildRequires: kmime-devel >= %{_kapp_version} BuildRequires: knewstuff-devel >= %{kf5_version} BuildRequires: knotifyconfig-devel >= %{kf5_version} -BuildRequires: kpimtextedit-devel >= %{_kapp_version} -BuildRequires: kross-devel >= %{kf5_version} BuildRequires: kwallet-devel >= %{kf5_version} BuildRequires: kwidgetsaddons-devel >= %{kf5_version} BuildRequires: libkgapi-devel >= 1.9.81 @@ -75,7 +84,6 @@ Requires(postun): shared-mime-info Provides: kio-pimlibs = %{version} Obsoletes: kio-pimlibs < %{version} -BuildRoot: %{_tmppath}/%{name}-%{version}-build # It can only build on the same platforms as Qt Webengine ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 mips mips64 %if 0%{?suse_version} > 1320 @@ -83,12 +91,22 @@ %else Conflicts: kdepim4-runtime %endif +Recommends: %{name}-lang +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This package contains the Akonadi files of the kdepim module. +%if %{with lang} +%lang_package +%endif + %prep %setup -q -n kdepim-runtime-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %cmake_kf5 -d build -- -DBUILD_TESTING=ON -DKF5_INCLUDE_INSTALL_DIR=%{_kf5_includedir} @@ -97,6 +115,10 @@ %install %kf5_makeinstall -C build + %if %{with lang} + %find_lang %{name} --with-man --all-name + %kf5_find_htmldocs + %endif rm -rvf %{buildroot}%{_kf5_libdir}/*.so %post @@ -114,6 +136,7 @@ %config %{_kf5_configdir}/kdepim-runtime.renamecategories %{_kf5_bindir}/* %{_kf5_libdir}/*.so.* +%{_kf5_libdir}/sasl2/ %{_kf5_plugindir}/ %{_datadir}/mime/packages/kdepim-mime.xml %{_datadir}/akonadi/ @@ -124,4 +147,9 @@ %{_kf5_notifydir}/ %{_kf5_htmldir}/en/kioslave5/ +%if %{with lang} +%files lang -f %{name}.lang +%doc COPYING* +%endif + %changelog ++++++ disable-gmail-when-compiled-without-xoauth.patch ++++++ >From b5890530c0f81ecf4955d3fe98983704b16f513f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <dvra...@kde.org> Date: Sat, 22 Apr 2017 13:30:01 +0200 Subject: [IMAP] Disable the Gmail special cases when compiled without XOAUTH When the IMAP resource is compiled without XOAUTH2 support, make sure that the logic in the Settings dialog does not try to still apply the Gmail-specific configuration. --- resources/imap/setupserver.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/resources/imap/setupserver.cpp b/resources/imap/setupserver.cpp index 7b5cee8..12a37ae 100644 --- a/resources/imap/setupserver.cpp +++ b/resources/imap/setupserver.cpp @@ -569,10 +569,12 @@ void SetupServer::slotTestChanged() m_serverTest = nullptr; slotSafetyChanged(); +#ifdef WITH_GMAIL_XOAUTH2 // do not use imapConnectionPossible, as the data is not yet saved. const bool isGmail = Utils::isGmail(m_ui->imapServer->text()); m_ui->testButton->setEnabled(!isGmail /* TODO && Global::connectionPossible() || m_ui->imapServer->text() == "localhost"*/); +#endif } void SetupServer::slotEnableWidgets() @@ -594,6 +596,7 @@ void SetupServer::slotComplete() void SetupServer::slotSafetyChanged() { +#ifdef WITH_GMAIL_XOAUTH2 if (m_serverTest == nullptr) { const bool isGmail = Utils::isGmail(m_ui->imapServer->text()); qCDebug(IMAPRESOURCE_LOG) << "serverTest null"; @@ -604,7 +607,7 @@ void SetupServer::slotSafetyChanged() m_ui->authenticationCombo->setEnabled(!isGmail); return; } - +#endif QVector<int> protocols; switch (m_ui->safeImapGroup->checkedId()) { @@ -704,13 +707,16 @@ void SetupServer::populateDefaultAuthenticationOptions(QComboBox *combo) addAuthenticationItem(combo, MailTransport::Transport::EnumAuthenticationType::NTLM); addAuthenticationItem(combo, MailTransport::Transport::EnumAuthenticationType::GSSAPI); addAuthenticationItem(combo, MailTransport::Transport::EnumAuthenticationType::ANONYMOUS); +#ifdef WITH_GMAIL_XOAUTH2 if (Utils::isGmail(m_ui->imapServer->text())) { addAuthenticationItem(combo, MailTransport::Transport::EnumAuthenticationType::XOAUTH2); } +#endif } void SetupServer::slotServerChanged() { +#ifdef WITH_GMAIL_XOAUTH2 const bool isGmail = Utils::isGmail(m_ui->imapServer->text()); const bool wasGmail = !m_ui->password->isEnabled(); @@ -733,4 +739,5 @@ void SetupServer::slotServerChanged() setCurrentAuthMode(m_ui->authenticationCombo, MailTransport::Transport::EnumAuthenticationType::XOAUTH2); } m_ui->authenticationCombo->setEnabled(!isGmail); +#endif } -- cgit v0.11.2 ++++++ fix-idle-support-with-gssapi.patch ++++++ >From 61bee84d8afc42576d309a616c3894f18c1b964f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <dvra...@kde.org> Date: Wed, 19 Apr 2017 01:03:56 +0200 Subject: [IMAP] Fix IDLE support with GSSAPI authentication Only ignore IDLE due to empty password when not using GSSAPI. With GSSAPI the password field in settings is always empty. BUG: 311456 FIXED-IN: 5.5.1 --- resources/imap/imapresourcebase.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/imap/imapresourcebase.cpp b/resources/imap/imapresourcebase.cpp index cd2a04a..10a9bad 100644 --- a/resources/imap/imapresourcebase.cpp +++ b/resources/imap/imapresourcebase.cpp @@ -587,7 +587,9 @@ void ImapResourceBase::startIdle() } //Without password we don't even have to try - if (settings()->password().isEmpty()) { + if (m_pool->account()->authenticationMode() != KIMAP::LoginJob::GSSAPI && + settings()->password().isEmpty()) + { return; } -- cgit v0.11.2 ++++++ fix-migration-to-new-gmail-authentication.patch ++++++ >From c9ae16363e68d6958db0cd835cb0180b340594b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <dvra...@kde.org> Date: Sat, 22 Apr 2017 13:31:42 +0200 Subject: [IMAP] Fix migration to new Gmail authentication Currently the settings would be migrated only if user opened the Settings dialog. The GmailPasswordRequester expects that the server settings is migrated correctly and always tries to authenticate via XOAUTH2, even if the configuration says "PLAIN" or other mechanism. This breaks login as we try to send XOAUTH2 tokens as PLAIN credentials. This change ensures that the encryption and auth mechanism settings is correctly migrated on resource startup. CCBUG: 378857 CCBUG: 378876 --- resources/imap/settings.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/imap/settings.cpp b/resources/imap/settings.cpp index 53296b8..6a599ea 100644 --- a/resources/imap/settings.cpp +++ b/resources/imap/settings.cpp @@ -23,6 +23,7 @@ #include "imapaccount.h" #include "utils.h" +#include "config.h" #include <kwallet.h> using KWallet::Wallet; @@ -78,6 +79,17 @@ Settings::Settings(WId winId) : SettingsBase(), m_winId(winId) { load(); +#ifdef WITH_GMAIL_XOAUTH2 + // Make sure that Gmail configuration is correctly migrated even if the user + // did not open the configuration dialog + if (Utils::isGmail(imapServer())) { + setImapPort(993); + setSafety(QStringLiteral("SSL")); + setAuthentication(MailTransport::Transport::EnumAuthenticationType::XOAUTH2); + save(); + } +#endif + new SettingsAdaptor(this); QDBusConnection::sessionBus().registerObject(QStringLiteral("/Settings"), this, QDBusConnection::ExportAdaptors | QDBusConnection::ExportScriptableContents); } -- cgit v0.11.2 ++++++ fix-missing-connect-when-restarting-idle.patch ++++++ >From 427b560f8d0808d2a5beb76966b3c6c575d2fa75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <dvra...@kde.org> Date: Wed, 19 Apr 2017 17:46:06 +0200 Subject: [IMAP] Fix missing connect() when restarting IDLE job Restarted IDLE job did not listen for flags changes. --- resources/imap/imapidlemanager.cpp | 10 ++++++---- resources/imap/imapidlemanager.h | 2 ++ resources/imap/imapresourcebase.cpp | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/resources/imap/imapidlemanager.cpp b/resources/imap/imapidlemanager.cpp index 76d48c2..171face 100644 --- a/resources/imap/imapidlemanager.cpp +++ b/resources/imap/imapidlemanager.cpp @@ -97,6 +97,11 @@ void ImapIdleManager::onSessionRequestDone(qint64 requestId, KIMAP::Session *ses connect(m_pool, &SessionPool::connectionLost, this, &ImapIdleManager::onConnectionLost); connect(m_pool, &SessionPool::disconnectDone, this, &ImapIdleManager::onPoolDisconnect); + startIdle(); +} + +void ImapIdleManager::startIdle() +{ KIMAP::SelectJob *select = new KIMAP::SelectJob(m_session); select->setMailBox(m_state->mailBoxForCollection(m_state->collection())); connect(select, &KIMAP::SelectJob::result, this, &ImapIdleManager::onSelectDone); @@ -142,10 +147,7 @@ void ImapIdleManager::onIdleStopped() m_idle = nullptr; if (m_session) { qCDebug(IMAPRESOURCE_LOG) << "Restarting the IDLE session!"; - m_idle = new KIMAP::IdleJob(m_session); - connect(m_idle.data(), &KIMAP::IdleJob::mailBoxStats, this, &ImapIdleManager::onStatsReceived); - connect(m_idle.data(), &KIMAP::IdleJob::result, this, &ImapIdleManager::onIdleStopped); - m_idle->start(); + startIdle(); } } diff --git a/resources/imap/imapidlemanager.h b/resources/imap/imapidlemanager.h index 4a2f514..df7f03d 100644 --- a/resources/imap/imapidlemanager.h +++ b/resources/imap/imapidlemanager.h @@ -69,6 +69,8 @@ private Q_SLOTS: void reconnect(); private: + void startIdle(); + qint64 m_sessionRequestId; SessionPool *m_pool; KIMAP::Session *m_session; diff --git a/resources/imap/imapresourcebase.cpp b/resources/imap/imapresourcebase.cpp index 10a9bad..5ff370b 100644 --- a/resources/imap/imapresourcebase.cpp +++ b/resources/imap/imapresourcebase.cpp @@ -632,6 +632,8 @@ void ImapResourceBase::onIdleCollectionFetchDone(KJob *job) if (!fetch->collections().isEmpty()) { delete m_idle; m_idle = new ImapIdleManager(createResourceState(TaskArguments(fetch->collections().at(0))), m_pool, this); + } else { + qCWarning(IMAPRESOURCE_LOG) << "Failed to retrieve IDLE collection: no such collection"; } } -- cgit v0.11.2 ++++++ kdepim-runtime-16.12.3.tar.xz -> kdepim-runtime-17.04.0.tar.xz ++++++ ++++ 403892 lines of diff (skipped)