Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kpackage for openSUSE:Factory 
checked in at 2021-11-15 15:25:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kpackage (Old)
 and      /work/SRC/openSUSE:Factory/.kpackage.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kpackage"

Mon Nov 15 15:25:32 2021 rev:86 rq:931104 version:5.88.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kpackage/kpackage.changes        2021-10-18 
22:00:44.098030322 +0200
+++ /work/SRC/openSUSE:Factory/.kpackage.new.1890/kpackage.changes      
2021-11-15 15:26:54.301831978 +0100
@@ -1,0 +2,19 @@
+Sun Nov  7 09:13:30 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Strip 'Source' URL for faster submissions
+
+-------------------------------------------------------------------
+Sun Nov  7 09:08:15 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.88.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.88.0
+- Changes since 5.87.0:
+  * Allow KCM kpackages to use metadata of C++ plugin
+  * Utilize std::optional to check if we have already searched for a
+    KPluginMetaData object
+  * KPackage: Copy KPluginMetaData object when copying d-ptr
+  * Add FreeBSD CI
+
+-------------------------------------------------------------------

Old:
----
  kpackage-5.87.0.tar.xz
  kpackage-5.87.0.tar.xz.sig

New:
----
  kpackage-5.88.0.tar.xz
  kpackage-5.88.0.tar.xz.sig

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

Other differences:
------------------
++++++ kpackage.spec ++++++
--- /var/tmp/diff_new_pack.7j9iun/_old  2021-11-15 15:26:54.785832114 +0100
+++ /var/tmp/diff_new_pack.7j9iun/_new  2021-11-15 15:26:54.789832115 +0100
@@ -16,22 +16,22 @@
 #
 
 
-%define _tar_path 5.87
+%define _tar_path 5.88
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
 %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | 
awk -F. '{print $1"."$2}')}
 %bcond_without lang
 Name:           kpackage
-Version:        5.87.0
+Version:        5.88.0
 Release:        0
 Summary:        Non-binary asset user-installable package managing framework
 License:        GPL-2.0-or-later AND LGPL-2.0-or-later
 Group:          System/GUI/KDE
 URL:            https://www.kde.org
-Source:         
https://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
+Source:         %{name}-%{version}.tar.xz
 %if %{with lang}
-Source1:        
https://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz.sig
+Source1:        %{name}-%{version}.tar.xz.sig
 Source2:        frameworks.keyring
 %endif
 BuildRequires:  extra-cmake-modules >= %{_kf5_bugfix_version}


++++++ kpackage-5.87.0.tar.xz -> kpackage-5.88.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/.gitlab-ci.yml 
new/kpackage-5.88.0/.gitlab-ci.yml
--- old/kpackage-5.87.0/.gitlab-ci.yml  2021-10-02 16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/.gitlab-ci.yml  2021-11-06 14:23:07.000000000 +0100
@@ -3,3 +3,4 @@
 
 include:
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/CMakeLists.txt 
new/kpackage-5.88.0/CMakeLists.txt
--- old/kpackage-5.87.0/CMakeLists.txt  2021-10-02 16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/CMakeLists.txt  2021-11-06 14:23:07.000000000 +0100
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "5.87.0") # handled by release scripts
+set(KF_VERSION "5.88.0") # handled by release scripts
 set(KF_DEP_VERSION "5.87.0") # handled by release scripts
 project(KPackage VERSION ${KF_VERSION})
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kpackage-5.87.0/po/ca/docs/kpackagetool/man-kpackagetool5.1.docbook 
new/kpackage-5.88.0/po/ca/docs/kpackagetool/man-kpackagetool5.1.docbook
--- old/kpackage-5.87.0/po/ca/docs/kpackagetool/man-kpackagetool5.1.docbook     
2021-10-02 16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/po/ca/docs/kpackagetool/man-kpackagetool5.1.docbook     
2021-11-06 14:23:07.000000000 +0100
@@ -295,7 +295,7 @@
 <para
 >Hi ha disponible documentaci?? d'usuari m??s detallada des de <ulink 
 >url="help:/plasma-desktop"
 >help:/plasma-desktop</ulink
-> (introdu??u aquest &URL; al &konqueror; o executeu <userinput
+> (podeu emprar aquest &URL; al &konqueror; o b?? executar <userinput
 ><command
 >khelpcenter</command
 > <parameter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/po/ca/libkpackage5.po 
new/kpackage-5.88.0/po/ca/libkpackage5.po
--- old/kpackage-5.87.0/po/ca/libkpackage5.po   2021-10-02 16:31:01.000000000 
+0200
+++ new/kpackage-5.88.0/po/ca/libkpackage5.po   2021-11-06 14:23:07.000000000 
+0100
@@ -1,17 +1,17 @@
 # Translation of libkpackage5.po to Catalan
-# Copyright (C) 2014-2020 This_file_is_part_of_KDE
+# Copyright (C) 2014-2021 This_file_is_part_of_KDE
 # This file is distributed under the license LGPL version 2.1 or
 # version 3 or later versions approved by the membership of KDE e.V.
 #
-# Josep Ma. Ferrer <[email protected]>, 2014, 2015, 2016, 2017, 2018, 2019, 
2020.
+# Josep M. Ferrer <[email protected]>, 2014, 2015, 2016, 2017, 2018, 2019, 
2020, 2021.
 # Antoni Bella P??rez <[email protected]>, 2014, 2015, 2016, 2017, 2020.
 msgid ""
 msgstr ""
 "Project-Id-Version: kpackage\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2021-08-18 00:14+0000\n"
-"PO-Revision-Date: 2020-08-11 18:07+0100\n"
-"Last-Translator: Josep Ma. Ferrer <[email protected]>\n"
+"PO-Revision-Date: 2021-10-10 11:09+0200\n"
+"Last-Translator: Josep M. Ferrer <[email protected]>\n"
 "Language-Team: Catalan <[email protected]>\n"
 "Language: ca\n"
 "MIME-Version: 1.0\n"
@@ -19,12 +19,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Accelerator-Marker: &\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Lokalize 20.12.0\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
 msgid "Your names"
-msgstr "Josep Ma. Ferrer"
+msgstr "Josep M. Ferrer"
 
 #, kde-format
 msgctxt "EMAIL OF TRANSLATORS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/po/zh_CN/libkpackage5.po 
new/kpackage-5.88.0/po/zh_CN/libkpackage5.po
--- old/kpackage-5.87.0/po/zh_CN/libkpackage5.po        2021-10-02 
16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/po/zh_CN/libkpackage5.po        2021-11-06 
14:23:07.000000000 +0100
@@ -9,7 +9,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2021-08-18 00:14+0000\n"
-"PO-Revision-Date: 2021-09-27 13:08\n"
+"PO-Revision-Date: 2021-10-29 13:25\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/src/kpackage/package.cpp 
new/kpackage-5.88.0/src/kpackage/package.cpp
--- old/kpackage-5.87.0/src/kpackage/package.cpp        2021-10-02 
16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/src/kpackage/package.cpp        2021-11-06 
14:23:07.000000000 +0100
@@ -191,6 +191,12 @@
     return d->externalPaths;
 }
 
+void Package::setMetadata(const KPluginMetaData &data)
+{
+    Q_ASSERT(data.isValid());
+    d->metadata = data;
+}
+
 void Package::setAllowExternalPaths(bool allow)
 {
     d.detach();
@@ -223,11 +229,13 @@
         }
     }
 
+    // Set a dummy KPluginMetaData object, this way we don't try to do the 
expensive
+    // search for the metadata again if none of the paths have changed
     if (!d->metadata) {
-        d->metadata = new KPluginMetaData();
+        d->metadata = KPluginMetaData();
     }
 
-    return *d->metadata;
+    return d->metadata.value();
 }
 
 QString PackagePrivate::unpack(const QString &filePath)
@@ -468,6 +476,7 @@
     // hold onto the old pointer just in case it does not, however!
     QExplicitlySharedDataPointer<PackagePrivate> oldD(d);
     d.detach();
+    d->metadata = std::nullopt;
 
     // without structure we're doomed
     if (!d->structure) {
@@ -539,7 +548,7 @@
             QResource::registerResource(d->rccPath);
 
             // we need just the plugin name here, never the absolute path
-            dir = QDir(QStringLiteral(":/") + defaultPackageRoot() + 
path.midRef(path.lastIndexOf(QLatin1Char('/'))));
+            dir = QDir(QStringLiteral(":/") + defaultPackageRoot() + 
QStringView(path).mid(path.lastIndexOf(QLatin1Char('/'))));
         }
 
         d->path = dir.canonicalPath();
@@ -570,8 +579,7 @@
 
     // .. but something did change, so we get rid of our discovery cache
     d->discoveries.clear();
-    delete d->metadata;
-    d->metadata = nullptr;
+    d->metadata = std::nullopt;
 
     // uh-oh, but we didn't end up with anything valid, so we sadly reset 
ourselves
     // to futility.
@@ -858,7 +866,6 @@
 PackagePrivate::PackagePrivate()
     : QSharedData()
     , fallbackPackage(nullptr)
-    , metadata(nullptr)
     , externalPaths(false)
     , valid(false)
     , checkedValid(false)
@@ -870,7 +877,9 @@
     : QSharedData()
 {
     *this = other;
-    metadata = nullptr;
+    if (other.metadata && other.metadata.value().isValid()) {
+        metadata = other.metadata;
+    }
 }
 
 PackagePrivate::~PackagePrivate()
@@ -886,7 +895,6 @@
         QDir dir(tempRoot);
         dir.removeRecursively();
     }
-    delete metadata;
     delete fallbackPackage;
 }
 
@@ -902,12 +910,14 @@
     } else {
         fallbackPackage = nullptr;
     }
+    if (rhs.metadata && rhs.metadata.value().isValid()) {
+        metadata = rhs.metadata;
+    }
     path = rhs.path;
     contentsPrefixPaths = rhs.contentsPrefixPaths;
     contents = rhs.contents;
     mimeTypes = rhs.mimeTypes;
     defaultPackageRoot = rhs.defaultPackageRoot;
-    metadata = nullptr;
     externalPaths = rhs.externalPaths;
     valid = rhs.valid;
     return *this;
@@ -971,20 +981,17 @@
 {
     const bool isDir = QFileInfo(path).isDir();
 
-    delete metadata;
     if (isDir && QFile::exists(path + QStringLiteral("/metadata.json"))) {
-        metadata = new KPluginMetaData(path + 
QStringLiteral("/metadata.json"));
+        metadata = KPluginMetaData(path + QStringLiteral("/metadata.json"));
     } else if (isDir && QFile::exists(path + 
QStringLiteral("/metadata.desktop"))) {
-        auto md = KPluginMetaData::fromDesktopFile(path + 
QStringLiteral("/metadata.desktop"), 
{QStringLiteral(":/kservicetypes5/kpackage-generic.desktop")});
-        metadata = new KPluginMetaData(md);
+        metadata = KPluginMetaData::fromDesktopFile(path + 
QStringLiteral("/metadata.desktop"), 
{QStringLiteral(":/kservicetypes5/kpackage-generic.desktop")});
     } else {
         if (isDir) {
             qCDebug(KPACKAGE_LOG) << "No metadata file in the package, 
expected it at:" << path;
         } else if (path.endsWith(QLatin1String(".desktop"))) {
-            auto md = KPluginMetaData::fromDesktopFile(path, 
{QStringLiteral(":/kservicetypes5/kpackage-generic.desktop")});
-            metadata = new KPluginMetaData(md);
+            metadata = KPluginMetaData::fromDesktopFile(path, 
{QStringLiteral(":/kservicetypes5/kpackage-generic.desktop")});
         } else {
-            metadata = new KPluginMetaData(path);
+            metadata = KPluginMetaData(path);
         }
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/src/kpackage/package.h 
new/kpackage-5.88.0/src/kpackage/package.h
--- old/kpackage-5.87.0/src/kpackage/package.h  2021-10-02 16:31:01.000000000 
+0200
+++ new/kpackage-5.88.0/src/kpackage/package.h  2021-11-06 14:23:07.000000000 
+0100
@@ -207,6 +207,14 @@
     bool allowExternalPaths() const;
 
     /**
+     * Sets the metadata for the KPackage. This overwrites the current 
metadata.
+     * This should be used in case a kpackage gets loaded by name, based
+     * on the path a C++ plugin which has embedded metadata.
+     * @since 5.88
+     */
+    void setMetadata(const KPluginMetaData &data);
+
+    /**
      * @return the package metadata object.
      */
     KPluginMetaData metadata() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/src/kpackage/packagestructure.h 
new/kpackage-5.88.0/src/kpackage/packagestructure.h
--- old/kpackage-5.87.0/src/kpackage/packagestructure.h 2021-10-02 
16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/src/kpackage/packagestructure.h 2021-11-06 
14:23:07.000000000 +0100
@@ -45,7 +45,7 @@
 public:
     explicit PackageStructure(QObject *parent = nullptr, const QVariantList 
&args = QVariantList());
 
-    ~PackageStructure();
+    ~PackageStructure() override;
 
     /**
      * Called when a the PackageStructure should initialize a Package with the 
initial
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/src/kpackage/private/package_p.h 
new/kpackage-5.88.0/src/kpackage/private/package_p.h
--- old/kpackage-5.87.0/src/kpackage/private/package_p.h        2021-10-02 
16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/src/kpackage/private/package_p.h        2021-11-06 
14:23:07.000000000 +0100
@@ -15,6 +15,7 @@
 #include <QPointer>
 #include <QSharedData>
 #include <QString>
+#include <optional>
 namespace KPackage
 {
 // KPackage is is normally used on the stack, explicitly shared and isn't a 
QObject
@@ -88,7 +89,7 @@
     QHash<QByteArray, ContentStructure> contents;
     Package *fallbackPackage;
     QStringList mimeTypes;
-    KPluginMetaData *metadata;
+    std::optional<KPluginMetaData> metadata;
     QString rccPath;
     bool externalPaths : 1;
     bool valid : 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kpackage-5.87.0/src/kpackage/private/packagejobthread_p.h 
new/kpackage-5.88.0/src/kpackage/private/packagejobthread_p.h
--- old/kpackage-5.87.0/src/kpackage/private/packagejobthread_p.h       
2021-10-02 16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/src/kpackage/private/packagejobthread_p.h       
2021-11-06 14:23:07.000000000 +0100
@@ -32,7 +32,7 @@
     };
 
     explicit PackageJobThread(QObject *parent = nullptr);
-    virtual ~PackageJobThread();
+    ~PackageJobThread() override;
 
     bool install(const QString &src, const QString &dest);
     bool update(const QString &src, const QString &dest);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpackage-5.87.0/src/kpackagetool/kpackagetool.h 
new/kpackage-5.88.0/src/kpackagetool/kpackagetool.h
--- old/kpackage-5.87.0/src/kpackagetool/kpackagetool.h 2021-10-02 
16:31:01.000000000 +0200
+++ new/kpackage-5.88.0/src/kpackagetool/kpackagetool.h 2021-11-06 
14:23:07.000000000 +0100
@@ -23,7 +23,7 @@
 
 public:
     PackageTool(int &argc, char **argv, QCommandLineParser *parser);
-    virtual ~PackageTool();
+    ~PackageTool() override;
 
     void listPackages(const QStringList &types, const QString &path = 
QString());
     void showPackageInfo(const QString &pluginName);

Reply via email to