From 4038b8b31b85fe8ee7b3d86702977f25db4c9c59e7ef2b96f8477cb43111a36b Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux Date: Sat, 13 Jun 2020 20:35:10 +0000 Subject: [PATCH] 5.71.0 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kcmutils?expand=0&rev=215 --- ...t-for-a-normal-KCM-with-desktop-file.patch | 313 ------------------ Fix-crash-when-loading-external-app.patch | 247 -------------- ...two-to-KCModuleInfo_property-as-well.patch | 36 -- ...unittest-and-extend-it-with-fake-KCM.patch | 249 -------------- Repair-kcmshell5-after-previous-commits.patch | 212 ------------ kcmutils-5.70.0.tar.xz | 3 - kcmutils-5.70.0.tar.xz.sig | 11 - kcmutils-5.71.0.tar.xz | 3 + kcmutils-5.71.0.tar.xz.sig | 11 + kcmutils.changes | 21 ++ kcmutils.spec | 12 +- 11 files changed, 37 insertions(+), 1081 deletions(-) delete mode 100644 Add-test-for-a-normal-KCM-with-desktop-file.patch delete mode 100644 Fix-crash-when-loading-external-app.patch delete mode 100644 Port-these-two-to-KCModuleInfo_property-as-well.patch delete mode 100644 Rename-KCModuleInfo-unittest-and-extend-it-with-fake-KCM.patch delete mode 100644 Repair-kcmshell5-after-previous-commits.patch delete mode 100644 kcmutils-5.70.0.tar.xz delete mode 100644 kcmutils-5.70.0.tar.xz.sig create mode 100644 kcmutils-5.71.0.tar.xz create mode 100644 kcmutils-5.71.0.tar.xz.sig diff --git a/Add-test-for-a-normal-KCM-with-desktop-file.patch b/Add-test-for-a-normal-KCM-with-desktop-file.patch deleted file mode 100644 index ba78eaf..0000000 --- a/Add-test-for-a-normal-KCM-with-desktop-file.patch +++ /dev/null @@ -1,313 +0,0 @@ -From b1f56973ea194f69a5c8040ebdc500e23ef01f28 Mon Sep 17 00:00:00 2001 -From: David Faure -Date: Fri, 22 May 2020 12:47:00 +0200 -Subject: Add test for a "normal" KCM with desktop file - ---- - autotests/CMakeLists.txt | 1 + - autotests/desktopfilekcm/CMakeLists.txt | 6 ++ - autotests/desktopfilekcm/kcmtest.cpp | 32 +++++++ - autotests/desktopfilekcm/kcmtest.desktop | 149 +++++++++++++++++++++++++++++++ - autotests/desktopfilekcm/kcmtest.h | 29 ++++++ - autotests/kcmoduleinfotest.cpp | 20 +++++ - 6 files changed, 237 insertions(+) - create mode 100644 autotests/desktopfilekcm/CMakeLists.txt - create mode 100644 autotests/desktopfilekcm/kcmtest.cpp - create mode 100644 autotests/desktopfilekcm/kcmtest.desktop - create mode 100644 autotests/desktopfilekcm/kcmtest.h - -diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt -index 358ca4e..35ce99d 100644 ---- a/autotests/CMakeLists.txt -+++ b/autotests/CMakeLists.txt -@@ -7,3 +7,4 @@ ecm_add_tests( - ) - - add_subdirectory(jsonplugin) -+add_subdirectory(desktopfilekcm) -diff --git a/autotests/desktopfilekcm/CMakeLists.txt b/autotests/desktopfilekcm/CMakeLists.txt -new file mode 100644 -index 0000000..eb01930 ---- /dev/null -+++ b/autotests/desktopfilekcm/CMakeLists.txt -@@ -0,0 +1,6 @@ -+add_library(kcmtest MODULE kcmtest.cpp) -+ -+kcoreaddons_desktop_to_json(kcmtest kcmtest.desktop) -+ -+target_link_libraries(kcmtest KF5::CoreAddons) -+ -diff --git a/autotests/desktopfilekcm/kcmtest.cpp b/autotests/desktopfilekcm/kcmtest.cpp -new file mode 100644 -index 0000000..574adb4 ---- /dev/null -+++ b/autotests/desktopfilekcm/kcmtest.cpp -@@ -0,0 +1,32 @@ -+/* -+ Copyright (c) 2020 David Faure -+ -+ This library is free software; you can redistribute it and/or modify -+ it under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2 of the License or ( at -+ your option ) version 3 or, at the discretion of KDE e.V. ( which shall -+ act as a proxy as in section 14 of the GPLv3 ), 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 Lesser 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 "kcmtest.h" -+#include -+ -+KCMTest::KCMTest(QObject *parent, const QVariantList &args) -+ : QObject(parent) -+{ -+ Q_UNUSED(args) -+} -+ -+K_PLUGIN_FACTORY_WITH_JSON(kcmtestfactory, "kcmtest.json", registerPlugin();) -+ -+#include "kcmtest.moc" -diff --git a/autotests/desktopfilekcm/kcmtest.desktop b/autotests/desktopfilekcm/kcmtest.desktop -new file mode 100644 -index 0000000..7d97fe0 ---- /dev/null -+++ b/autotests/desktopfilekcm/kcmtest.desktop -@@ -0,0 +1,149 @@ -+[Desktop Entry] -+Exec=kcmshell5 kcmkded -+Icon=preferences-system-session-services -+Type=Service -+X-KDE-ServiceTypes=KCModule -+ -+X-KDE-Library=kcm_kded -+X-KDE-ParentApp=kcontrol -+ -+X-KDE-System-Settings-Parent-Category=session -+X-KDE-Weight=50 -+X-DocPath=kcontrol/kded/index.html -+ -+Name=Background Services -+Name[ar]=خدمات الخلفيّة -+Name[ast]=Servicios en segundu planu -+Name[bs]=Pozadinski servisi -+Name[ca]=Serveis en segon pla -+Name[ca@valencia]=Serveis en segon pla -+Name[cs]=Služby na pozadí -+Name[da]=Baggrundstjenester -+Name[de]=Hintergrunddienste -+Name[el]=Υπηρεσίες παρασκηνίου -+Name[en_GB]=Background Services -+Name[es]=Servicios en segundo plano -+Name[et]=Taustateenused -+Name[eu]=Atzeko planoko zerbitzuak -+Name[fi]=Taustapalvelut -+Name[fr]=Services d'arrière plan -+Name[gl]=Servizos en segundo plano -+Name[he]=שירותי רקע -+Name[hu]=Háttérszolgáltatások -+Name[ia]=Servicios de fundo (in background) -+Name[id]=Layanan Latarbelakang -+Name[is]=Bakgrunnsþjónustur -+Name[it]=Servizi in background -+Name[ko]=배경 서비스 -+Name[lt]=Foninės tarnybos -+Name[nb]=Bakgrunnstjenester -+Name[nds]=Achtergrunddeensten -+Name[nl]=Achtergrondservices -+Name[nn]=Bakgrunnstenester -+Name[pa]=ਬੈਕਗਰਾਊਂਡ ਸੇਵਾਵਾਂ -+Name[pl]=Usługi w tle -+Name[pt]=Serviços de Segundo Plano -+Name[pt_BR]=Serviços de segundo plano -+Name[ru]=Управление службами -+Name[sk]=Služby pozadia -+Name[sl]=Storitve v ozadju -+Name[sr]=Позадински сервиси -+Name[sr@ijekavian]=Позадински сервиси -+Name[sr@ijekavianlatin]=Pozadinski servisi -+Name[sr@latin]=Pozadinski servisi -+Name[sv]=Bakgrundstjänster -+Name[tr]=Arkaplan Servisleri -+Name[uk]=Фонові служби -+Name[x-test]=xxBackground Servicesxx -+Name[zh_CN]=后台服务 -+Name[zh_TW]=背景服務 -+Comment=Configure background services -+Comment[ast]=Configura los servicios en segundu planu -+Comment[ca]=Configura els serveis en segon pla -+Comment[cs]=Nastavit služby na pozadí -+Comment[de]=Hintergrunddienste einrichten -+Comment[en_GB]=Configure background services -+Comment[es]=Configurar los servicios en segundo plano -+Comment[et]=Taustateenuste seadistamine -+Comment[eu]=Konfiguratu atzeko planoko zerbitzuak -+Comment[fi]=Taustapalveluasetukset -+Comment[fr]=Configurer les services d'arrière plan -+Comment[ia]=Configura servicios de fundo -+Comment[id]=Konfigurasikan layanan latarbelakang -+Comment[it]=Configura i servizi in background -+Comment[ko]=배경 서비스 설정 -+Comment[lt]=Konfigūruoti fonines tarnybas -+Comment[nl]=Achtergrondservices configureren -+Comment[nn]=Set opp bakgrunnstenester -+Comment[pt]=Configurar os serviços de segundo plano -+Comment[pt_BR]=Configurar os serviços de segundo plano -+Comment[ru]=Настройка служб KDE -+Comment[sk]=Nastaviť služby na pozadí -+Comment[sl]=Nastavi storitve v ozadju -+Comment[sv]=Anpassa bakgrundstjänster -+Comment[uk]=Налаштування фонових служб -+Comment[x-test]=xxConfigure background servicesxx -+Comment[zh_CN]=配置后台服务 -+Comment[zh_TW]=設定背景服務 -+X-KDE-Keywords=KDED,Daemon,Services -+X-KDE-Keywords[ast]=KDED,Degorriu,Servicios -+X-KDE-Keywords[bg]=KDED,Daemon,Services,Услуги -+X-KDE-Keywords[bn]=KDED,Daemon,Services -+X-KDE-Keywords[bs]=KDED,Daemon,Services,demon,usluge -+X-KDE-Keywords[ca]=KDED,Dimoni,Serveis -+X-KDE-Keywords[ca@valencia]=KDED,Dimoni,Serveis -+X-KDE-Keywords[cs]=KDED,Démon,Služby -+X-KDE-Keywords[da]=KDED,dæmon,tjenester -+X-KDE-Keywords[de]=KDED,Dienst,Services,Dienste -+X-KDE-Keywords[el]=KDED,Daemon,Services -+X-KDE-Keywords[en_GB]=KDED,Daemon,Services -+X-KDE-Keywords[eo]=KDED,Demono,Servoj -+X-KDE-Keywords[es]=KDED,Demonio,Servicios -+X-KDE-Keywords[et]=KDED,deemon,teenused -+X-KDE-Keywords[eu]=KDED,daemon-a,zerbitzuak -+X-KDE-Keywords[fa]=KDED,Daemon,Services -+X-KDE-Keywords[fi]=KDED,Palvelu,Taustaprosessi,Palvelin,Palvelut -+X-KDE-Keywords[fr]=KDED, démon, services -+X-KDE-Keywords[ga]=KDED,Deamhan,Seirbhísí -+X-KDE-Keywords[gl]=KDED,servizo,servizos -+X-KDE-Keywords[gu]=KDED,ડેમન,સેવાઓ -+X-KDE-Keywords[he]=KDED,Daemon,Services,שירותים -+X-KDE-Keywords[hi]=KDED,डेमन सेवाएँ -+X-KDE-Keywords[hu]=KDED,Démon,Szolgáltatások -+X-KDE-Keywords[ia]=KDED,Daemon,Servicios -+X-KDE-Keywords[id]=KDED,Daemon,Layanan -+X-KDE-Keywords[is]=KDED,Þjónusta,Þjónustur -+X-KDE-Keywords[it]=KDED,demone,servizi -+X-KDE-Keywords[kk]=KDED,Daemon,Services -+X-KDE-Keywords[km]=KDED ដេមិន សេវាកម្ម -+X-KDE-Keywords[ko]=KDED,Daemon,Services,데몬,서비스 -+X-KDE-Keywords[lt]=KDED,tarnyba,paslaugos -+X-KDE-Keywords[lv]=KDED,dēmons,servisi -+X-KDE-Keywords[mr]=केडीईD, डीमन, सेवा -+X-KDE-Keywords[nb]=KDED,Daemon,Tjenester -+X-KDE-Keywords[nds]=KDED,Dämoon,Deensten -+X-KDE-Keywords[nl]=KDED,daemon,services -+X-KDE-Keywords[nn]=KDED,daemon,tenester,tenester -+X-KDE-Keywords[pa]=KDED,ਡੈਮਨ,ਸਰਵਿਸਾਂ -+X-KDE-Keywords[pl]=KDED,Demon,Usługi -+X-KDE-Keywords[pt]=KDED,Servidor,Serviços -+X-KDE-Keywords[pt_BR]=KDED,Servidor,Serviços -+X-KDE-Keywords[ro]=KDED,Servicii,Demon -+X-KDE-Keywords[ru]=KDED,Daemon,Services,фоновая служба,демон,служба -+X-KDE-Keywords[sk]=KDED,Démon,Služby -+X-KDE-Keywords[sl]=KDED,ozadnji program,storitve -+X-KDE-Keywords[sr]=KDED,Daemon,Services,КДЕД,демон,сервис -+X-KDE-Keywords[sr@ijekavian]=KDED,Daemon,Services,КДЕД,демон,сервис -+X-KDE-Keywords[sr@ijekavianlatin]=KDED,Daemon,Services,KDED,demon,servis -+X-KDE-Keywords[sr@latin]=KDED,Daemon,Services,KDED,demon,servis -+X-KDE-Keywords[sv]=KDED,Demon,Tjänster -+X-KDE-Keywords[tr]=KDED,Servis,Servisler -+X-KDE-Keywords[ug]=KDED،Daemon، مۇلازىمەتلەر -+X-KDE-Keywords[uk]=KDED,Daemon,Services,служба,служби,фонова служба,фонові служби -+X-KDE-Keywords[vi]=KDED,Trình nền,Dịch vụ, Daemon,Services -+X-KDE-Keywords[wa]=KDED,Démon,Demon,Siervices -+X-KDE-Keywords[x-test]=xxKDEDxx,xxDaemonxx,xxServicesxx -+X-KDE-Keywords[zh_CN]=KDED,Daemon,Services,服务,后台进程 -+X-KDE-Keywords[zh_TW]=KDED,Daemon,Services -+ -+Categories=Qt;KDE;X-KDE-settings-components; -diff --git a/autotests/desktopfilekcm/kcmtest.h b/autotests/desktopfilekcm/kcmtest.h -new file mode 100644 -index 0000000..84a34f1 ---- /dev/null -+++ b/autotests/desktopfilekcm/kcmtest.h -@@ -0,0 +1,29 @@ -+/* -+ Copyright (c) 2020 David Faure -+ -+ This library is free software; you can redistribute it and/or modify -+ it under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2 of the License or ( at -+ your option ) version 3 or, at the discretion of KDE e.V. ( which shall -+ act as a proxy as in section 14 of the GPLv3 ), 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 Lesser 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 -+#include -+ -+class KCMTest : public QObject -+{ -+ Q_OBJECT -+public: -+ explicit KCMTest(QObject* parent, const QVariantList& foo = QVariantList()); -+}; -diff --git a/autotests/kcmoduleinfotest.cpp b/autotests/kcmoduleinfotest.cpp -index 48c271d..8b2dbae 100644 ---- a/autotests/kcmoduleinfotest.cpp -+++ b/autotests/kcmoduleinfotest.cpp -@@ -32,6 +32,7 @@ class KCModuleInfoTest : public QObject - private Q_SLOTS: - void testExternalApp(); - void testFakeKCM(); -+ void testDesktopFileKCM(); - }; - - void KCModuleInfoTest::testExternalApp() -@@ -58,11 +59,30 @@ void KCModuleInfoTest::testFakeKCM() - // THEN - QCOMPARE(info.pluginInfo().name(), QStringLiteral("Test")); - QCOMPARE(QFileInfo(info.library()).fileName(), QStringLiteral("jsonplugin.so")); -+ QCOMPARE(QFileInfo(info.fileName()).fileName(), QStringLiteral("jsonplugin.so")); - QCOMPARE(info.icon(), QStringLiteral("view-pim-mail")); - QCOMPARE(info.comment(), QStringLiteral("Test plugin")); - QCOMPARE(info.docPath(), QStringLiteral("doc/path")); - QVERIFY(!info.service()); - } - -+void KCModuleInfoTest::testDesktopFileKCM() -+{ -+ const QString desktopFile = QFINDTESTDATA("desktopfilekcm/kcmtest.desktop"); -+ QVERIFY(!desktopFile.isEmpty()); -+ -+ // WHEN -+ KCModuleInfo info(desktopFile); -+ -+ // THEN -+ QVERIFY(info.service()); -+ QVERIFY(!info.pluginInfo().isValid()); -+ QCOMPARE(QFileInfo(info.library()).fileName(), QStringLiteral("kcm_kded")); -+ QCOMPARE(QFileInfo(info.fileName()).fileName(), QStringLiteral("kcmtest.desktop")); -+ QCOMPARE(info.icon(), QStringLiteral("preferences-system-session-services")); -+ QCOMPARE(info.comment(), QStringLiteral("Configure background services")); -+ QCOMPARE(info.docPath(), QStringLiteral("kcontrol/kded/index.html")); -+} -+ - QTEST_MAIN(KCModuleInfoTest) - #include "kcmoduleinfotest.moc" --- -cgit v1.1 - diff --git a/Fix-crash-when-loading-external-app.patch b/Fix-crash-when-loading-external-app.patch deleted file mode 100644 index 06d96cf..0000000 --- a/Fix-crash-when-loading-external-app.patch +++ /dev/null @@ -1,247 +0,0 @@ -From 53b41bc90b354ce7642f29d0f0a0464b32b29860 Mon Sep 17 00:00:00 2001 -From: David Faure -Date: Wed, 20 May 2020 22:50:35 +0200 -Subject: Fix crash when loading an external app KCM like yast - -This re-instates the use of KService as a first-class citizen -in KCModuleInfo, apparently needed for non-plugins. - -A unittest ensures that the very basic use of service() on such -a desktop file doesn't crash. - -BUG: 421566 ---- - CMakeLists.txt | 5 ++- - autotests/CMakeLists.txt | 7 ++++ - autotests/YaST-systemsettings.desktop | 8 ++++ - autotests/kplugininfotest.cpp | 42 +++++++++++++++++++ - src/kcmoduleinfo.cpp | 76 +++++++++++++++++++++++++++-------- - 5 files changed, 120 insertions(+), 18 deletions(-) - create mode 100644 autotests/CMakeLists.txt - create mode 100644 autotests/YaST-systemsettings.desktop - create mode 100644 autotests/kplugininfotest.cpp - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e3a3d5c..6131840 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -17,7 +17,7 @@ include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) - include(KDECMakeSettings) - - set(REQUIRED_QT_VERSION 5.12.0) --find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets DBus Qml Quick QuickWidgets) -+find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets DBus Qml Quick QuickWidgets Test) - - include(ECMGenerateExportHeader) - include(ECMSetupVersion) -@@ -58,6 +58,9 @@ if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") - endif() - add_definitions(-DQT_NO_FOREACH) - add_subdirectory(src) -+if(BUILD_TESTING) -+add_subdirectory(autotests) -+endif() - - - # create a Config.cmake and a ConfigVersion.cmake file and install them -diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt -new file mode 100644 -index 0000000..d494215 ---- /dev/null -+++ b/autotests/CMakeLists.txt -@@ -0,0 +1,7 @@ -+include(ECMAddTests) -+ -+ecm_add_tests( -+ kplugininfotest.cpp -+ -+ LINK_LIBRARIES KF5KCMUtils Qt5::Test -+) -diff --git a/autotests/YaST-systemsettings.desktop b/autotests/YaST-systemsettings.desktop -new file mode 100644 -index 0000000..c33c091 ---- /dev/null -+++ b/autotests/YaST-systemsettings.desktop -@@ -0,0 +1,8 @@ -+[Desktop Entry] -+Type=Service -+Name=YaST -+Icon=yast-control-center -+GenericName=Administrator Settings -+Exec=kdesu -c /sbin/yast2 -+X-KDE-System-Settings-Parent-Category=system-administration -+X-KDE-ServiceTypes=SystemSettingsExternalApp -diff --git a/autotests/kplugininfotest.cpp b/autotests/kplugininfotest.cpp -new file mode 100644 -index 0000000..6541eb4 ---- /dev/null -+++ b/autotests/kplugininfotest.cpp -@@ -0,0 +1,42 @@ -+/* This file is part of the KDE Frameworks -+ Copyright (c) 2020 David Faure -+ -+ This library is free software; you can redistribute it and/or modify -+ it under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2 of the License or ( at -+ your option ) version 3 or, at the discretion of KDE e.V. ( which shall -+ act as a proxy as in section 14 of the GPLv3 ), 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 Lesser 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 -+#include -+#include -+ -+class KPluginInfoTest : public QObject -+{ -+ Q_OBJECT -+ -+private Q_SLOTS: -+ void testExternalApp(); -+}; -+ -+void KPluginInfoTest::testExternalApp() -+{ -+ const QString yast = QFINDTESTDATA("YaST-systemsettings.desktop"); -+ QVERIFY(!yast.isEmpty()); -+ KCModuleInfo info(yast); -+ QVERIFY(info.service()); -+} -+ -+QTEST_MAIN(KPluginInfoTest) -+#include "kplugininfotest.moc" -diff --git a/src/kcmoduleinfo.cpp b/src/kcmoduleinfo.cpp -index 11d6643..8f27b9c 100644 ---- a/src/kcmoduleinfo.cpp -+++ b/src/kcmoduleinfo.cpp -@@ -43,8 +43,12 @@ public: - bool allLoaded = false; - int weight = 100; - -+ // For real C++ plugins - KPluginInfo pluginInfo; - -+ // Can be a C++ plugin, or just a desktop file launching an executable (see autotest) -+ KService::Ptr service; -+ - /** - * Reads the service entries specific for KCModule from the desktop file. - * The usual desktop entries are read in the Private ctor. -@@ -73,19 +78,35 @@ KCModuleInfo::Private::Private(const KPluginInfo &pluginInfo) - keywords = pluginInfo.property(QStringLiteral("Keywords")).toStringList(); - } - -+KCModuleInfo::Private::Private(const KService::Ptr &service) -+ : allLoaded(false), -+ pluginInfo(), -+ service(service) -+{ -+ if (!service) { -+ return; -+ } -+ -+ name = service->name(); -+ comment = service->comment(); -+ icon = service->icon(); -+ fileName = service->entryPath(); -+ lib = service->library(); -+ keywords = service->keywords(); -+} -+ - KCModuleInfo::KCModuleInfo() - : d(new Private) - { - } - - KCModuleInfo::KCModuleInfo(const QString &desktopFile) --// TODO KF6: turn this into KPluginMetaData(file) so that most callers still work, after adding the JSON to the .so files -- : d(new Private(KPluginInfo(KService::serviceByStorageId(desktopFile)))) -+ : d(new Private(KService::serviceByStorageId(desktopFile))) - { - } - - KCModuleInfo::KCModuleInfo(KService::Ptr service) -- : d(new Private(KPluginInfo(service))) -+ : d(new Private(service)) - { - } - -@@ -125,24 +146,39 @@ void KCModuleInfo::Private::loadAll() - { - allLoaded = true; - -- if (!pluginInfo.isValid()) { /* We have a bogus service. All get functions will return empty/zero values */ -+ if (!pluginInfo.isValid() && !service) { /* We have a bogus service. All get functions will return empty/zero values */ - return; - } - -- // get the documentation path -- doc = pluginInfo.property(QStringLiteral("X-DocPath")).toString(); -- if (doc.isEmpty()) { -- doc = pluginInfo.property(QStringLiteral("DocPath")).toString(); -+ if (service) { -+ // get the documentation path -+ doc = service->property(QStringLiteral("X-DocPath"), QVariant::String).toString(); -+ if (doc.isEmpty()) { -+ doc = service->property(QStringLiteral("DocPath"), QVariant::String).toString(); -+ } -+ -+ // read weight -+ QVariant tmp = service->property(QStringLiteral("X-KDE-Weight"), QVariant::Int); -+ weight = tmp.isValid() ? tmp.toInt() : 100; -+ -+ // factory handle -+ tmp = service->property(QStringLiteral("X-KDE-FactoryName"), QVariant::String); -+ handle = tmp.isValid() ? tmp.toString() : lib; -+ } else { -+ // get the documentation path -+ doc = pluginInfo.property(QStringLiteral("X-DocPath")).toString(); -+ if (doc.isEmpty()) { -+ doc = pluginInfo.property(QStringLiteral("DocPath")).toString(); -+ } -+ -+ // read weight -+ QVariant tmp = pluginInfo.property(QStringLiteral("X-KDE-Weight")).toInt(); -+ weight = tmp.isValid() ? tmp.toInt() : 100; -+ -+ // factory handle -+ tmp = pluginInfo.property(QStringLiteral("X-KDE-FactoryName")); -+ handle = tmp.isValid() ? tmp.toString() : lib; - } -- -- // read weight -- QVariant tmp = pluginInfo.property(QStringLiteral("X-KDE-Weight")).toInt(); -- weight = tmp.isValid() ? tmp.toInt() : 100; -- -- // factory handle -- tmp = pluginInfo.property(QStringLiteral("X-KDE-FactoryName")); -- handle = tmp.isValid() ? tmp.toString() : lib; -- - } - - QString KCModuleInfo::fileName() const -@@ -162,6 +198,12 @@ QString KCModuleInfo::moduleName() const - - KService::Ptr KCModuleInfo::service() const - { -+ if (d->service) { -+ return d->service; -+ } -+ if (!d->pluginInfo.isValid()) { -+ return {}; -+ } - return d->pluginInfo.service(); - } - --- -cgit v1.1 - diff --git a/Port-these-two-to-KCModuleInfo_property-as-well.patch b/Port-these-two-to-KCModuleInfo_property-as-well.patch deleted file mode 100644 index 0f23130..0000000 --- a/Port-these-two-to-KCModuleInfo_property-as-well.patch +++ /dev/null @@ -1,36 +0,0 @@ -From e290e9e666fcf7a84dcd42529f4069d4c92098ae Mon Sep 17 00:00:00 2001 -From: David Faure -Date: Fri, 22 May 2020 14:18:42 +0200 -Subject: Port these two to KCModuleInfo::property() as well, seems to fix - Configure Kontact - -NO_CHANGELOG ---- - src/ksettings/dialog.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/ksettings/dialog.cpp b/src/ksettings/dialog.cpp -index 2412413..08bd4a1 100644 ---- a/src/ksettings/dialog.cpp -+++ b/src/ksettings/dialog.cpp -@@ -329,7 +329,7 @@ void DialogPrivate::createDialogFromServices() - - //qDebug() << kcmInfos.count(); - for (const KCModuleInfo &info : qAsConst(kcmInfos)) { -- const QStringList parentComponents = info.pluginInfo().property(QStringLiteral("X-KDE-ParentComponents")).toStringList(); -+ const QStringList parentComponents = info.property(QStringLiteral("X-KDE-ParentComponents")).toStringList(); - bool blacklisted = false; - for (const QString &parentComponent : parentComponents) { - if (componentBlacklist.contains(parentComponent)) { -@@ -340,7 +340,7 @@ void DialogPrivate::createDialogFromServices() - if (blacklisted) { - continue; - } -- const QString parentId = info.pluginInfo().property(QStringLiteral("X-KDE-CfgDlgHierarchy")).toString(); -+ const QString parentId = info.property(QStringLiteral("X-KDE-CfgDlgHierarchy")).toString(); - KPageWidgetItem *parent = pageItemForGroupId.value(parentId); - if (!parent) { - // dummy kcm --- -cgit v1.1 - diff --git a/Rename-KCModuleInfo-unittest-and-extend-it-with-fake-KCM.patch b/Rename-KCModuleInfo-unittest-and-extend-it-with-fake-KCM.patch deleted file mode 100644 index 735d25a..0000000 --- a/Rename-KCModuleInfo-unittest-and-extend-it-with-fake-KCM.patch +++ /dev/null @@ -1,249 +0,0 @@ -From a65c6819464b5a91e038d17f422bb43cfcdf30be Mon Sep 17 00:00:00 2001 -From: David Faure -Date: Fri, 22 May 2020 12:29:20 +0200 -Subject: Rename KCModuleInfo unittest and extend it with the "fake KCM" - testcase - ---- - autotests/CMakeLists.txt | 4 +- - autotests/jsonplugin/CMakeLists.txt | 8 ++++ - autotests/jsonplugin/jsonplugin.cpp | 18 +++++++++ - autotests/jsonplugin/jsonplugin.desktop | 17 +++++++++ - autotests/jsonplugin/jsonplugin.h | 20 ++++++++++ - autotests/kcmoduleinfotest.cpp | 68 +++++++++++++++++++++++++++++++++ - autotests/kplugininfotest.cpp | 42 -------------------- - 7 files changed, 134 insertions(+), 43 deletions(-) - create mode 100644 autotests/jsonplugin/CMakeLists.txt - create mode 100644 autotests/jsonplugin/jsonplugin.cpp - create mode 100644 autotests/jsonplugin/jsonplugin.desktop - create mode 100644 autotests/jsonplugin/jsonplugin.h - create mode 100644 autotests/kcmoduleinfotest.cpp - delete mode 100644 autotests/kplugininfotest.cpp - -diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt -index d494215..358ca4e 100644 ---- a/autotests/CMakeLists.txt -+++ b/autotests/CMakeLists.txt -@@ -1,7 +1,9 @@ - include(ECMAddTests) - - ecm_add_tests( -- kplugininfotest.cpp -+ kcmoduleinfotest.cpp - - LINK_LIBRARIES KF5KCMUtils Qt5::Test - ) -+ -+add_subdirectory(jsonplugin) -diff --git a/autotests/jsonplugin/CMakeLists.txt b/autotests/jsonplugin/CMakeLists.txt -new file mode 100644 -index 0000000..739f4a4 ---- /dev/null -+++ b/autotests/jsonplugin/CMakeLists.txt -@@ -0,0 +1,8 @@ -+ -+add_library(jsonplugin MODULE jsonplugin.cpp) -+ -+kcoreaddons_desktop_to_json(jsonplugin jsonplugin.desktop) -+ -+target_link_libraries(jsonplugin KF5::CoreAddons) -+ -+set_target_properties(jsonplugin PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/testplugins") -diff --git a/autotests/jsonplugin/jsonplugin.cpp b/autotests/jsonplugin/jsonplugin.cpp -new file mode 100644 -index 0000000..f2eff39 ---- /dev/null -+++ b/autotests/jsonplugin/jsonplugin.cpp -@@ -0,0 +1,18 @@ -+/* -+ SPDX-FileCopyrightText: 2013 Sebastian Kügler -+ -+ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL -+*/ -+ -+#include "jsonplugin.h" -+#include -+ -+JsonPlugin::JsonPlugin(QObject *parent, const QVariantList &args) -+ : QObject(parent) -+{ -+ Q_UNUSED(args) -+} -+ -+K_PLUGIN_FACTORY_WITH_JSON(jsonpluginfa, "jsonplugin.json", registerPlugin();) -+ -+#include "jsonplugin.moc" -diff --git a/autotests/jsonplugin/jsonplugin.desktop b/autotests/jsonplugin/jsonplugin.desktop -new file mode 100644 -index 0000000..6f4c64a ---- /dev/null -+++ b/autotests/jsonplugin/jsonplugin.desktop -@@ -0,0 +1,17 @@ -+[Desktop Entry] -+Type=Service -+Icon=view-pim-mail -+X-KDE-ServiceTypes=KPluginInfo -+ -+X-KDE-Library=jsonplugin -+ -+X-KDE-PluginInfo-Name=jsonplugin -+X-KDE-PluginInfo-Version=0.1 -+X-KDE-PluginInfo-License=GPL -+X-KDE-PluginInfo-EnabledByDefault=true -+ -+X-DocPath=doc/path -+ -+Comment=Test plugin -+Name=Test -+ -diff --git a/autotests/jsonplugin/jsonplugin.h b/autotests/jsonplugin/jsonplugin.h -new file mode 100644 -index 0000000..1ffe6ae ---- /dev/null -+++ b/autotests/jsonplugin/jsonplugin.h -@@ -0,0 +1,20 @@ -+/* -+ SPDX-FileCopyrightText: 2013 Sebastian Kügler -+ -+ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL -+*/ -+ -+#ifndef JSONPLUGIN_H -+#define JSONPLUGIN_H -+ -+#include -+ -+class JsonPlugin : public QObject -+{ -+ Q_OBJECT -+ -+public: -+ explicit JsonPlugin(QObject *parent, const QVariantList &args); -+}; -+ -+#endif // JSONPLUGIN_H -diff --git a/autotests/kcmoduleinfotest.cpp b/autotests/kcmoduleinfotest.cpp -new file mode 100644 -index 0000000..48c271d ---- /dev/null -+++ b/autotests/kcmoduleinfotest.cpp -@@ -0,0 +1,68 @@ -+/* This file is part of the KDE Frameworks -+ Copyright (c) 2020 David Faure -+ -+ This library is free software; you can redistribute it and/or modify -+ it under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2 of the License or ( at -+ your option ) version 3 or, at the discretion of KDE e.V. ( which shall -+ act as a proxy as in section 14 of the GPLv3 ), 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 Lesser 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 -+#include -+#include -+#include -+#include -+#include -+ -+class KCModuleInfoTest : public QObject -+{ -+ Q_OBJECT -+ -+private Q_SLOTS: -+ void testExternalApp(); -+ void testFakeKCM(); -+}; -+ -+void KCModuleInfoTest::testExternalApp() -+{ -+ const QString yast = QFINDTESTDATA("YaST-systemsettings.desktop"); -+ QVERIFY(!yast.isEmpty()); -+ KCModuleInfo info(yast); -+ QVERIFY(info.service()); -+} -+ -+void KCModuleInfoTest::testFakeKCM() -+{ -+ // Similar to kontact's code -+ const QVector pluginMetaDatas = KPluginLoader::findPlugins( -+ QStringLiteral("testplugins"), [](const KPluginMetaData &) { return true; }); -+ const QList pluginInfos = KPluginInfo::fromMetaData(pluginMetaDatas); -+ QVERIFY(pluginInfos.count() > 0); -+ KPluginInfo pluginInfo = pluginInfos.at(0); -+ QVERIFY(pluginInfo.isValid()); -+ -+ // WHEN -+ KCModuleInfo info(pluginInfo); // like Dialog::addPluginInfos does -+ -+ // THEN -+ QCOMPARE(info.pluginInfo().name(), QStringLiteral("Test")); -+ QCOMPARE(QFileInfo(info.library()).fileName(), QStringLiteral("jsonplugin.so")); -+ QCOMPARE(info.icon(), QStringLiteral("view-pim-mail")); -+ QCOMPARE(info.comment(), QStringLiteral("Test plugin")); -+ QCOMPARE(info.docPath(), QStringLiteral("doc/path")); -+ QVERIFY(!info.service()); -+} -+ -+QTEST_MAIN(KCModuleInfoTest) -+#include "kcmoduleinfotest.moc" -diff --git a/autotests/kplugininfotest.cpp b/autotests/kplugininfotest.cpp -deleted file mode 100644 -index 6541eb4..0000000 ---- a/autotests/kplugininfotest.cpp -+++ /dev/null -@@ -1,42 +0,0 @@ --/* This file is part of the KDE Frameworks -- Copyright (c) 2020 David Faure -- -- This library is free software; you can redistribute it and/or modify -- it under the terms of the GNU Lesser General Public License as published by -- the Free Software Foundation; either version 2 of the License or ( at -- your option ) version 3 or, at the discretion of KDE e.V. ( which shall -- act as a proxy as in section 14 of the GPLv3 ), 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 Lesser 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 --#include --#include -- --class KPluginInfoTest : public QObject --{ -- Q_OBJECT -- --private Q_SLOTS: -- void testExternalApp(); --}; -- --void KPluginInfoTest::testExternalApp() --{ -- const QString yast = QFINDTESTDATA("YaST-systemsettings.desktop"); -- QVERIFY(!yast.isEmpty()); -- KCModuleInfo info(yast); -- QVERIFY(info.service()); --} -- --QTEST_MAIN(KPluginInfoTest) --#include "kplugininfotest.moc" --- -cgit v1.1 - diff --git a/Repair-kcmshell5-after-previous-commits.patch b/Repair-kcmshell5-after-previous-commits.patch deleted file mode 100644 index 97446b7..0000000 --- a/Repair-kcmshell5-after-previous-commits.patch +++ /dev/null @@ -1,212 +0,0 @@ -From c2db5f797fd3f1eb632de8baa7c034469af69ed1 Mon Sep 17 00:00:00 2001 -From: David Faure -Date: Fri, 22 May 2020 13:22:54 +0200 -Subject: Repair kcmshell5 after previous commits, now with unittest - ---- - autotests/kcmoduleinfotest.cpp | 16 ++++++++++++++++ - src/kcmoduleinfo.cpp | 14 ++++++++++++++ - src/kcmoduleinfo.h | 14 ++++++++++++++ - src/kcmoduleloader.cpp | 6 ++++-- - src/kcmultidialog.cpp | 4 ++-- - src/kpluginselector.cpp | 2 +- - src/ksettings/dialog.cpp | 2 +- - 7 files changed, 52 insertions(+), 6 deletions(-) - -diff --git a/autotests/kcmoduleinfotest.cpp b/autotests/kcmoduleinfotest.cpp -index 8b2dbae..9e7bc6a 100644 ---- a/autotests/kcmoduleinfotest.cpp -+++ b/autotests/kcmoduleinfotest.cpp -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -33,6 +34,7 @@ private Q_SLOTS: - void testExternalApp(); - void testFakeKCM(); - void testDesktopFileKCM(); -+ void testInvalidKCM(); - }; - - void KCModuleInfoTest::testExternalApp() -@@ -41,6 +43,7 @@ void KCModuleInfoTest::testExternalApp() - QVERIFY(!yast.isEmpty()); - KCModuleInfo info(yast); - QVERIFY(info.service()); -+ QVERIFY(info.isValid()); - } - - void KCModuleInfoTest::testFakeKCM() -@@ -57,6 +60,7 @@ void KCModuleInfoTest::testFakeKCM() - KCModuleInfo info(pluginInfo); // like Dialog::addPluginInfos does - - // THEN -+ QVERIFY(info.isValid()); - QCOMPARE(info.pluginInfo().name(), QStringLiteral("Test")); - QCOMPARE(QFileInfo(info.library()).fileName(), QStringLiteral("jsonplugin.so")); - QCOMPARE(QFileInfo(info.fileName()).fileName(), QStringLiteral("jsonplugin.so")); -@@ -75,6 +79,7 @@ void KCModuleInfoTest::testDesktopFileKCM() - KCModuleInfo info(desktopFile); - - // THEN -+ QVERIFY(info.isValid()); - QVERIFY(info.service()); - QVERIFY(!info.pluginInfo().isValid()); - QCOMPARE(QFileInfo(info.library()).fileName(), QStringLiteral("kcm_kded")); -@@ -82,6 +87,17 @@ void KCModuleInfoTest::testDesktopFileKCM() - QCOMPARE(info.icon(), QStringLiteral("preferences-system-session-services")); - QCOMPARE(info.comment(), QStringLiteral("Configure background services")); - QCOMPARE(info.docPath(), QStringLiteral("kcontrol/kded/index.html")); -+ -+ // WHEN actually loading the module -+ KCMultiDialog dlg; -+ QVERIFY(dlg.addModule(info)); -+} -+ -+void KCModuleInfoTest::testInvalidKCM() -+{ -+ KCModuleInfo info(QStringLiteral("doest_not_exist.desktop")); -+ QVERIFY(!info.isValid()); -+ QVERIFY(!info.service()); - } - - QTEST_MAIN(KCModuleInfoTest) -diff --git a/src/kcmoduleinfo.cpp b/src/kcmoduleinfo.cpp -index 8f27b9c..faea919 100644 ---- a/src/kcmoduleinfo.cpp -+++ b/src/kcmoduleinfo.cpp -@@ -142,6 +142,11 @@ KCModuleInfo::~KCModuleInfo() - delete d; - } - -+bool KCModuleInfo::isValid() const -+{ -+ return d->pluginInfo.isValid() || d->service; -+} -+ - void KCModuleInfo::Private::loadAll() - { - allLoaded = true; -@@ -254,3 +259,12 @@ int KCModuleInfo::weight() const - return d->weight; - } - -+QVariant KCModuleInfo::property(const QString &key) const -+{ -+ if (d->service) { -+ return d->service->property(key); -+ } else { -+ return d->pluginInfo.property(key); -+ } -+} -+ -diff --git a/src/kcmoduleinfo.h b/src/kcmoduleinfo.h -index 4dc998e..529ba33 100644 ---- a/src/kcmoduleinfo.h -+++ b/src/kcmoduleinfo.h -@@ -111,6 +111,12 @@ public: - ~KCModuleInfo(); - - /** -+ * Returns true if the KCM was found -+ * @since 5.71 -+ */ -+ bool isValid() const; -+ -+ /** - * @return the filename of the .desktop file that describes the KCM - */ - QString fileName() const; -@@ -170,6 +176,14 @@ public: - */ - int weight() const; - -+ /** -+ * @return The value associated to the @p key. You can use it if you -+ * want to read custom values. To do this you need to define -+ * your own servicetype and add it to the ServiceTypes keys. -+ * @since 5.71 -+ */ -+ QVariant property(const QString &key) const; -+ - private: - class Private; - Private *d; -diff --git a/src/kcmoduleloader.cpp b/src/kcmoduleloader.cpp -index 197023e..113da6f 100644 ---- a/src/kcmoduleloader.cpp -+++ b/src/kcmoduleloader.cpp -@@ -74,14 +74,16 @@ KCModule *KCModuleLoader::loadModule(const KCModuleInfo &mod, ErrorReporting rep - * from the factory. - */ - -- if (!mod.pluginInfo().isValid()) -+ if (!mod.isValid()) { - return reportError(report, - i18n("The module %1 could not be found.", - mod.moduleName()), i18n("

The diagnosis is:
The desktop file %1 could not be found.

", mod.fileName()), parent); -- if (mod.service() && mod.service()->noDisplay()) -+ } -+ if (mod.service() && mod.service()->noDisplay()) { - return reportError(report, i18n("The module %1 is disabled.", mod.moduleName()), - i18n("

Either the hardware/software the module configures is not available or the module has been disabled by the administrator.

"), - parent); -+ } - - if (!mod.library().isEmpty()) { - QString error; -diff --git a/src/kcmultidialog.cpp b/src/kcmultidialog.cpp -index 82d0fb1..49e9137 100644 ---- a/src/kcmultidialog.cpp -+++ b/src/kcmultidialog.cpp -@@ -464,7 +464,7 @@ KPageWidgetItem *KCMultiDialog::addModule(const KCModuleInfo &moduleInfo, - KPageWidgetItem *parentItem, const QStringList &args) - { - Q_D(KCMultiDialog); -- if (!moduleInfo.pluginInfo().isValid()) { -+ if (!moduleInfo.isValid()) { - return nullptr; - } - -@@ -490,7 +490,7 @@ KPageWidgetItem *KCMultiDialog::addModule(const KCModuleInfo &moduleInfo, - KCMultiDialogPrivate::CreatedModule cm; - cm.kcm = kcm; - cm.item = item; -- cm.componentNames = moduleInfo.pluginInfo().property(QStringLiteral("X-KDE-ParentComponents")).toStringList(); -+ cm.componentNames = moduleInfo.property(QStringLiteral("X-KDE-ParentComponents")).toStringList(); - d->modules.append(cm); - - if (qobject_cast(kcm->realModule())) { -diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp -index 9788e36..3477fc2 100644 ---- a/src/kpluginselector.cpp -+++ b/src/kpluginselector.cpp -@@ -891,7 +891,7 @@ void KPluginSelector::Private::PluginDelegate::configure(const QModelIndex& inde - - if (configDialog.exec() == QDialog::Accepted) { - for (KCModuleProxy *moduleProxy : qAsConst(moduleProxyList)) { -- const QStringList parentComponents = moduleProxy->moduleInfo().pluginInfo().property(QStringLiteral("X-KDE-ParentComponents")).toStringList(); -+ const QStringList parentComponents = moduleProxy->moduleInfo().property(QStringLiteral("X-KDE-ParentComponents")).toStringList(); - moduleProxy->save(); - for (const QString &parentComponent : parentComponents) { - emit configCommitted(parentComponent.toLatin1()); -diff --git a/src/ksettings/dialog.cpp b/src/ksettings/dialog.cpp -index c64da39..2412413 100644 ---- a/src/ksettings/dialog.cpp -+++ b/src/ksettings/dialog.cpp -@@ -191,7 +191,7 @@ bool DialogPrivate::isPluginForKCMEnabled(const KCModuleInfo *moduleinfo, KPlugi - bool enabled = true; - //qDebug() << "check whether the '" << moduleinfo->moduleName() << "' KCM should be shown"; - // for all parent components -- const QStringList parentComponents = moduleinfo->pluginInfo().property( -+ const QStringList parentComponents = moduleinfo->property( - QStringLiteral("X-KDE-ParentComponents")).toStringList(); - for (QStringList::ConstIterator pcit = parentComponents.begin(); - pcit != parentComponents.end(); ++pcit) { --- -cgit v1.1 - diff --git a/kcmutils-5.70.0.tar.xz b/kcmutils-5.70.0.tar.xz deleted file mode 100644 index 9b11d35..0000000 --- a/kcmutils-5.70.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bfc6a8e8d420c276474805949b8f4ab0c298b8de70827b6f0b342f434af6c421 -size 239804 diff --git a/kcmutils-5.70.0.tar.xz.sig b/kcmutils-5.70.0.tar.xz.sig deleted file mode 100644 index 240eaf4..0000000 --- a/kcmutils-5.70.0.tar.xz.sig +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCgAdFiEEU+a0e0XOo+DVt0V3WNDuZIpIs7sFAl6t9B0ACgkQWNDuZIpI -s7umxQgAiomCyNIw58hJWUVL40kmnc+OqYqejEyjJxgTrACJ/wxbR6SwxMNGS3D2 -n1i9YiPdFjy9IMhkIt2dgPJjsiVhjhyz4ZaZBycCiamXfo8gyaR8DrGiA53ob5tv -bUr2TXx3PwwhumkfR5VmqtG0dSrcFhzcrjv5Zam3YC/n7mbqwJObVLXjd4AsJOT7 -/wt4uo/tZrzW43ATIgGWJTVDBuDD5FxqCiqrjtsG4Y9TfNYf80I9UEy2tb0yJhL2 -2ZW/VPkrpQtCLyQ4139+76Pu1vsz/HnSJfIkP76LBSmhcjMgElMyNicBDIp2A6yZ -qRuJtLZO76xqiFojnF8NftkDnP9Flg== -=SLHa ------END PGP SIGNATURE----- diff --git a/kcmutils-5.71.0.tar.xz b/kcmutils-5.71.0.tar.xz new file mode 100644 index 0000000..353be21 --- /dev/null +++ b/kcmutils-5.71.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27743a81e9aa48baac12bb844e48d3098250699122ed6040b1e3c50a5e8f276d +size 245708 diff --git a/kcmutils-5.71.0.tar.xz.sig b/kcmutils-5.71.0.tar.xz.sig new file mode 100644 index 0000000..b97148e --- /dev/null +++ b/kcmutils-5.71.0.tar.xz.sig @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCgAdFiEEU+a0e0XOo+DVt0V3WNDuZIpIs7sFAl7dOhEACgkQWNDuZIpI +s7s+7ggAhcIgbW3wblZUN3xthjnEh1QdbOK6yigIqWQwUPq2VHzACuVcI3EsCH+n +WYB97nB9r0Cb6ePk8MtNQ/qAeIS9P39K6qk8lx6BhITslFqJLMgaY8tiW0DORymg +kLK+IVBvLcQy6abn+cMTjQfUuaxxEaZ1pY1ukm6KaGzY+03aPq9yLM65Ww+ex3lp +KsMpjYt3AcaZE8mXC9Yxlln5QXoPjtTlm623Bkht7CO3KgVffniNm8hHKs5I1CAy +lOLWBlTUTHAmwYZrqVWh5bk+JZL12KD39QYuZw1Jdq52oEVPidt4zHv9as6tLciH +MlAxba7rZaRsoSMPVIc+OAiZ0882/Q== +=0sp5 +-----END PGP SIGNATURE----- diff --git a/kcmutils.changes b/kcmutils.changes index f3be97f..47be8fa 100644 --- a/kcmutils.changes +++ b/kcmutils.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Sun Jun 7 08:06:22 UTC 2020 - Christophe Giboudeaux + +- Update to 5.71.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/kde-frameworks-5.71.0 +- Changes since 5.70.0: + * Add X-KDE-KCM-Args as property, read property in module loader + * Repair kcmshell5 after previous commits, now with unittest + * Add test for a "normal" KCM with desktop file + * Rename KCModuleInfo unittest and extend it with the "fake KCM" testcase + * Fix crash when loading an external app KCM like yast (kde#421566) + * KSettings::Dialog: avoid duplicate entries due cascading $XDG_DATA_DIRS +- Drop upstream patches: + * Fix-crash-when-loading-external-app.patch + * Rename-KCModuleInfo-unittest-and-extend-it-with-fake-KCM.patch + * Add-test-for-a-normal-KCM-with-desktop-file.patch + * Repair-kcmshell5-after-previous-commits.patch + * Port-these-two-to-KCModuleInfo_property-as-well.patch + ------------------------------------------------------------------- Fri May 22 14:53:24 UTC 2020 - Wolfgang Bauer diff --git a/kcmutils.spec b/kcmutils.spec index 2572592..9ef89ca 100644 --- a/kcmutils.spec +++ b/kcmutils.spec @@ -17,14 +17,14 @@ %define lname libKF5KCMUtils5 -%define _tar_path 5.70 +%define _tar_path 5.71 # 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: kcmutils -Version: 5.70.0 +Version: 5.71.0 Release: 0 Summary: Classes to work with KCModules License: LGPL-2.1-or-later @@ -36,13 +36,6 @@ Source1: https://download.kde.org/stable/frameworks/%{_tar_path}/%{name}- Source2: frameworks.keyring %endif Source99: baselibs.conf -# PATCH-FIX-UPSTREAM -Patch: Fix-crash-when-loading-external-app.patch -# PATCH-FIX-UPSTREAM -Patch1: Rename-KCModuleInfo-unittest-and-extend-it-with-fake-KCM.patch -Patch2: Add-test-for-a-normal-KCM-with-desktop-file.patch -Patch3: Repair-kcmshell5-after-previous-commits.patch -Patch4: Port-these-two-to-KCModuleInfo_property-as-well.patch BuildRequires: cmake >= 3.5 BuildRequires: extra-cmake-modules >= %{_kf5_bugfix_version} BuildRequires: fdupes @@ -94,7 +87,6 @@ created with the KConfigWidgets framework. Development files. %prep %setup -q -%autopatch -p1 %build %cmake_kf5 -d build