Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kf6-attica for openSUSE:Factory 
checked in at 2024-05-11 18:19:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-attica (Old)
 and      /work/SRC/openSUSE:Factory/.kf6-attica.new.1880 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kf6-attica"

Sat May 11 18:19:01 2024 rev:3 rq:1173108 version:6.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-attica/kf6-attica.changes    2024-04-15 
20:11:36.813436406 +0200
+++ /work/SRC/openSUSE:Factory/.kf6-attica.new.1880/kf6-attica.changes  
2024-05-11 18:19:15.817987950 +0200
@@ -1,0 +2,16 @@
+Mon May  6 12:22:11 UTC 2024 - Christophe Marin <[email protected]>
+
+- Update to 6.2.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/6.2.0/
+- Changes since 6.1.0:
+  * modernize: don't else after return
+  * provider: document default ctor
+  * providermanager: remove unused function with typo
+  * postfiledata: simplify private
+  * modernize: use unique_ptr for privates
+  * basejob: don't leave dangly pointers
+  * platformdependent: v3
+
+-------------------------------------------------------------------

Old:
----
  attica-6.1.0.tar.xz
  attica-6.1.0.tar.xz.sig

New:
----
  attica-6.2.0.tar.xz
  attica-6.2.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kf6-attica.spec ++++++
--- /var/tmp/diff_new_pack.OIiNyF/_old  2024-05-11 18:19:17.438046944 +0200
+++ /var/tmp/diff_new_pack.OIiNyF/_new  2024-05-11 18:19:17.446047235 +0200
@@ -19,13 +19,13 @@
 %define qt6_version 6.6.0
 
 %define rname attica
-# Full KF6 version (e.g. 6.1.0)
+# Full KF6 version (e.g. 6.2.0)
 %{!?_kf6_version: %global _kf6_version %{version}}
 # Last major and minor KF6 version (e.g. 6.0)
 %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | 
awk -F. '{print $1"."$2}')}
 %bcond_without released
 Name:           kf6-attica
-Version:        6.1.0
+Version:        6.2.0
 Release:        0
 Summary:        Open Collaboration Service client library
 License:        LGPL-2.1-or-later

++++++ attica-6.1.0.tar.xz -> attica-6.2.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/CMakeLists.txt 
new/attica-6.2.0/CMakeLists.txt
--- old/attica-6.1.0/CMakeLists.txt     2024-04-05 12:54:15.000000000 +0200
+++ new/attica-6.2.0/CMakeLists.txt     2024-05-03 14:22:55.000000000 +0200
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "6.1.0") # handled by release scripts
+set(KF_VERSION "6.2.0") # handled by release scripts
 project(Attica VERSION ${KF_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 6.1.0  NO_MODULE)
+find_package(ECM 6.2.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/CMakeLists.txt 
new/attica-6.2.0/src/CMakeLists.txt
--- old/attica-6.1.0/src/CMakeLists.txt 2024-04-05 12:54:15.000000000 +0200
+++ new/attica-6.2.0/src/CMakeLists.txt 2024-05-03 14:22:55.000000000 +0200
@@ -85,6 +85,7 @@
    qtplatformdependent.cpp
    topic.cpp
    topicparser.cpp
+   platformdependent_v3.cpp
 )
 
 ecm_qt_declare_logging_category(KF6Attica
@@ -173,6 +174,7 @@
     #interface for external platform plugins
     platformdependent.h
     platformdependent_v2.h
+    platformdependent_v3.h
 )
 
 install(FILES ${Attica_CamelCase_HEADERS} DESTINATION 
${KDE_INSTALL_INCLUDEDIR_KF}/Attica/Attica COMPONENT Devel)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/atticabasejob.cpp 
new/attica-6.2.0/src/atticabasejob.cpp
--- old/attica-6.1.0/src/atticabasejob.cpp      2024-04-05 12:54:15.000000000 
+0200
+++ new/attica-6.2.0/src/atticabasejob.cpp      2024-05-03 14:22:55.000000000 
+0200
@@ -14,6 +14,7 @@
 #include <QTimer>
 
 #include "platformdependent.h"
+#include "platformdependent_v3.h"
 #include <attica_debug.h>
 #include <atticautils.h>
 
@@ -24,13 +25,12 @@
 public:
     Metadata m_metadata;
     PlatformDependent *m_internals;
-    QNetworkReply *m_reply;
+    QPointer<QNetworkReply> m_reply;
     bool aborted{false};
     bool started = false;
 
     Private(PlatformDependent *internals)
         : m_internals(internals)
-        , m_reply(nullptr)
     {
     }
 
@@ -63,14 +63,11 @@
 };
 
 BaseJob::BaseJob(PlatformDependent *internals)
-    : d(new Private(internals))
+    : d(std::make_unique<Private>(internals))
 {
 }
 
-BaseJob::~BaseJob()
-{
-    delete d;
-}
+BaseJob::~BaseJob() = default;
 
 void BaseJob::dataFinished()
 {
@@ -93,9 +90,8 @@
             d->m_reply = internals()->get(request);
             connect(d->m_reply, &QNetworkReply::finished, this, 
&BaseJob::dataFinished);
             return;
-        } else {
-            error = true;
         }
+        error = true;
     }
 
     if (error) {
@@ -134,6 +130,13 @@
     if (d->aborted) {
         return;
     }
+
+    auto platformDependentV3 = dynamic_cast<Attica::PlatformDependentV3 
*>(d->m_internals);
+    if (platformDependentV3 && !platformDependentV3->isReady()) {
+        connect(platformDependentV3, 
&Attica::PlatformDependentV3::readyChanged, this, &BaseJob::doWork);
+        return;
+    }
+
     d->m_reply = executeRequest();
     qCDebug(ATTICA) << "executing" << Utils::toString(d->m_reply->operation()) 
<< "request for" << d->m_reply->url();
     connect(d->m_reply, &QNetworkReply::finished, this, 
&BaseJob::dataFinished);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/atticabasejob.h 
new/attica-6.2.0/src/atticabasejob.h
--- old/attica-6.1.0/src/atticabasejob.h        2024-04-05 12:54:15.000000000 
+0200
+++ new/attica-6.2.0/src/atticabasejob.h        2024-05-03 14:22:55.000000000 
+0200
@@ -8,6 +8,8 @@
 #ifndef ATTICA_ATTICABASEJOB_H
 #define ATTICA_ATTICABASEJOB_H
 
+#include <memory>
+
 #include <QNetworkAccessManager>
 #include <QNetworkRequest>
 #include <QObject>
@@ -78,7 +80,7 @@
     BaseJob &operator=(const BaseJob &other) = delete;
 
     class Private;
-    Private *d;
+    std::unique_ptr<Private> d;
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/platformdependent_v2.h 
new/attica-6.2.0/src/platformdependent_v2.h
--- old/attica-6.1.0/src/platformdependent_v2.h 2024-04-05 12:54:15.000000000 
+0200
+++ new/attica-6.2.0/src/platformdependent_v2.h 2024-05-03 14:22:55.000000000 
+0200
@@ -12,7 +12,8 @@
 #include <QList>
 #include <QtPlugin>
 
-#include <platformdependent.h>
+#include "attica_export.h"
+#include "platformdependent.h"
 
 class QByteArray;
 class QIODevice;
@@ -24,7 +25,7 @@
 
 namespace Attica
 {
-class PlatformDependentV2 : public PlatformDependent
+class ATTICA_EXPORT PlatformDependentV2 : public PlatformDependent
 {
 public:
     ~PlatformDependentV2() override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/platformdependent_v3.cpp 
new/attica-6.2.0/src/platformdependent_v3.cpp
--- old/attica-6.1.0/src/platformdependent_v3.cpp       1970-01-01 
01:00:00.000000000 +0100
+++ new/attica-6.2.0/src/platformdependent_v3.cpp       2024-05-03 
14:22:55.000000000 +0200
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+// SPDX-FileCopyrightText: 2024 Harald Sitter <[email protected]>
+
+#include "platformdependent_v3.h"
+
+Attica::PlatformDependentV3::~PlatformDependentV3() = default;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/platformdependent_v3.h 
new/attica-6.2.0/src/platformdependent_v3.h
--- old/attica-6.1.0/src/platformdependent_v3.h 1970-01-01 01:00:00.000000000 
+0100
+++ new/attica-6.2.0/src/platformdependent_v3.h 2024-05-03 14:22:55.000000000 
+0200
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+// SPDX-FileCopyrightText: 2024 Harald Sitter <[email protected]>
+
+#pragma once
+
+#include <QObject>
+
+#include "attica_export.h"
+#include "platformdependent_v2.h"
+
+namespace Attica
+{
+
+/**
+ * @brief Platform integration plugin v3
+ *
+ * Version 3 introduces an async ready state where dependents need to mark 
themselves ready for requests before
+ * Attica dispatches them. This in particular allows dependents to carry out 
async initializations such as loading
+ * credentials.
+ */
+class ATTICA_EXPORT PlatformDependentV3 : public QObject, public 
PlatformDependentV2
+{
+    Q_OBJECT
+    Q_PROPERTY(bool ready READ isReady NOTIFY readyChanged)
+public:
+    using QObject::QObject;
+    ~PlatformDependentV3() override;
+    Q_DISABLE_COPY_MOVE(PlatformDependentV3)
+
+    /**
+     * Whether the dependent is ready for use (e.g. has loaded credentials).
+     * No requests are dispatched to this dependent until the ready change has 
been reached!
+     */
+    [[nodiscard]] virtual bool isReady() = 0;
+
+Q_SIGNALS:
+    /**
+     * Emit this when the ready state changes. Please note that reverting to 
not ready results in undefined behavior.
+     */
+    void readyChanged();
+};
+
+} // namespace Attica
+
+Q_DECLARE_INTERFACE(Attica::PlatformDependentV3, 
"org.kde.Attica.InternalsV3/1.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/postfiledata.cpp 
new/attica-6.2.0/src/postfiledata.cpp
--- old/attica-6.1.0/src/postfiledata.cpp       2024-04-05 12:54:15.000000000 
+0200
+++ new/attica-6.2.0/src/postfiledata.cpp       2024-05-03 14:22:55.000000000 
+0200
@@ -23,25 +23,17 @@
     QByteArray buffer;
     QByteArray boundary;
     QUrl url;
-    bool finished;
-
-    PostFileDataPrivate()
-        : finished(false)
-    {
-    }
+    bool finished = false;
 };
 
 PostFileData::PostFileData(const QUrl &url)
-    : d(new PostFileDataPrivate)
+    : d(std::make_unique<PostFileDataPrivate>())
 {
     d->url = url;
     d->boundary = "----------" + randomString(42 + 13).toLatin1();
 }
 
-PostFileData::~PostFileData()
-{
-    delete d;
-}
+PostFileData::~PostFileData() = default;
 
 QString PostFileData::randomString(int length)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/postfiledata.h 
new/attica-6.2.0/src/postfiledata.h
--- old/attica-6.1.0/src/postfiledata.h 2024-04-05 12:54:15.000000000 +0200
+++ new/attica-6.2.0/src/postfiledata.h 2024-05-03 14:22:55.000000000 +0200
@@ -9,6 +9,8 @@
 #ifndef POSTFILEDATA_H
 #define POSTFILEDATA_H
 
+#include <memory>
+
 #include <QByteArray>
 #include <QIODevice>
 #include <QNetworkRequest>
@@ -38,7 +40,7 @@
 private:
     void finish();
     QString randomString(int length);
-    PostFileDataPrivate *d;
+    std::unique_ptr<PostFileDataPrivate> d;
     Q_DISABLE_COPY(PostFileData)
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/provider.h 
new/attica-6.2.0/src/provider.h
--- old/attica-6.1.0/src/provider.h     2024-04-05 12:54:15.000000000 +0200
+++ new/attica-6.2.0/src/provider.h     2024-05-03 14:22:55.000000000 +0200
@@ -96,6 +96,9 @@
 class ATTICA_EXPORT Provider
 {
 public:
+    /**
+     * Default construct a Provider. Please note that this provider is 
incomplete and never valid.
+     */
     Provider();
     Provider(const Provider &other);
     Provider &operator=(const Provider &other);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/providermanager.cpp 
new/attica-6.2.0/src/providermanager.cpp
--- old/attica-6.1.0/src/providermanager.cpp    2024-04-05 12:54:15.000000000 
+0200
+++ new/attica-6.2.0/src/providermanager.cpp    2024-05-03 14:22:55.000000000 
+0200
@@ -24,6 +24,7 @@
 #include <QXmlStreamReader>
 
 #include "platformdependent.h"
+#include "platformdependent_v3.h"
 #include "qtplatformdependent_p.h"
 #include <QLibraryInfo>
 
@@ -70,6 +71,16 @@
 
 void ProviderManager::loadDefaultProviders()
 {
+    auto platformDependentV3 = dynamic_cast<Attica::PlatformDependentV3 
*>(d->m_internals);
+    if (platformDependentV3 && !platformDependentV3->isReady()) {
+        connect(platformDependentV3,
+                &Attica::PlatformDependentV3::readyChanged,
+                this,
+                &ProviderManager::slotLoadDefaultProvidersInternal,
+                Qt::QueuedConnection);
+        return;
+    }
+
     QTimer::singleShot(0, this, 
&ProviderManager::slotLoadDefaultProvidersInternal);
 }
 
@@ -315,10 +326,4 @@
     Q_UNUSED(authenticator)
 }
 
-void ProviderManager::initNetworkAccesssManager()
-{
-    connect(d->m_internals->nam(), 
&QNetworkAccessManager::authenticationRequired, this, 
&ProviderManager::authenticate);
-    connect(d->m_internals->nam(), 
&QNetworkAccessManager::proxyAuthenticationRequired, this, 
&ProviderManager::proxyAuthenticationRequired);
-}
-
 #include "moc_providermanager.cpp"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/providermanager.h 
new/attica-6.2.0/src/providermanager.h
--- old/attica-6.1.0/src/providermanager.h      2024-04-05 12:54:15.000000000 
+0200
+++ new/attica-6.2.0/src/providermanager.h      2024-05-03 14:22:55.000000000 
+0200
@@ -166,7 +166,6 @@
     ProviderManager(const ProviderManager &other) = delete;
     ProviderManager &operator=(const ProviderManager &other) = delete;
 
-    ATTICA_NO_EXPORT void initNetworkAccesssManager();
     ATTICA_NO_EXPORT PlatformDependent *loadPlatformDependent(const 
ProviderFlags &flags);
 
     ATTICA_NO_EXPORT void parseProviderFile(const QString &xmlString, const 
QUrl &url);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/qtplatformdependent.cpp 
new/attica-6.2.0/src/qtplatformdependent.cpp
--- old/attica-6.1.0/src/qtplatformdependent.cpp        2024-04-05 
12:54:15.000000000 +0200
+++ new/attica-6.2.0/src/qtplatformdependent.cpp        2024-05-03 
14:22:55.000000000 +0200
@@ -20,6 +20,7 @@
 {
     m_threadNamHash[QThread::currentThread()] = new QNetworkAccessManager();
     m_ourNamSet.insert(QThread::currentThread());
+    QMetaObject::invokeMethod(this, &QtPlatformDependent::readyChanged, 
Qt::QueuedConnection);
 }
 
 QtPlatformDependent::~QtPlatformDependent()
@@ -164,3 +165,8 @@
     Q_UNUSED(password)
     return false;
 }
+
+bool Attica::QtPlatformDependent::isReady()
+{
+    return true;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attica-6.1.0/src/qtplatformdependent_p.h 
new/attica-6.2.0/src/qtplatformdependent_p.h
--- old/attica-6.1.0/src/qtplatformdependent_p.h        2024-04-05 
12:54:15.000000000 +0200
+++ new/attica-6.2.0/src/qtplatformdependent_p.h        2024-05-03 
14:22:55.000000000 +0200
@@ -11,7 +11,7 @@
 #ifndef ATTICA_QTPLATFORMDEPENDENT_P_H
 #define ATTICA_QTPLATFORMDEPENDENT_P_H
 
-#include "platformdependent_v2.h"
+#include "platformdependent_v3.h"
 
 #include <QHash>
 #include <QMutex>
@@ -21,7 +21,7 @@
 
 namespace Attica
 {
-class QtPlatformDependent : public Attica::PlatformDependentV2
+class QtPlatformDependent : public Attica::PlatformDependentV3
 {
 public:
     QtPlatformDependent();
@@ -46,6 +46,7 @@
     QNetworkReply *deleteResource(const QNetworkRequest &request) override;
     QNetworkReply *put(const QNetworkRequest &request, const QByteArray &data) 
override;
     QNetworkReply *put(const QNetworkRequest &request, QIODevice *data) 
override;
+    [[nodiscard]] bool isReady() override;
 
 private:
     QMutex m_accessMutex;

++++++ frameworks.keyring ++++++
Binary files /var/tmp/diff_new_pack.OIiNyF/_old and 
/var/tmp/diff_new_pack.OIiNyF/_new differ

Reply via email to