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);
