Accepting request 1244729 from KDE:Frameworks

Plasma 6.3

OBS-URL: https://build.opensuse.org/request/show/1244729
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kinfocenter6?expand=0&rev=19
This commit is contained in:
2025-02-10 16:25:30 +00:00
committed by Git OBS Bridge
9 changed files with 86 additions and 508 deletions

View File

@@ -1,73 +0,0 @@
From 582cbde53cfb9e79182663bfd7c86aa46c0b46eb Mon Sep 17 00:00:00 2001
From: Kristen McWilliam <kmcwilliampublic@gmail.com>
Date: Thu, 29 Aug 2024 15:20:54 -0400
Subject: [PATCH 1/3] kcms: pull dmidecode-helper into a separate dir
This allows us to reuse the helper in other
places, like the memory info kcm.
---
kcms/CMakeLists.txt | 1 +
kcms/about-distro/src/CMakeLists.txt | 2 --
kcms/helpers/CMakeLists.txt | 4 ++++
.../src => helpers}/dmidecode-helper/CMakeLists.txt | 0
.../{about-distro/src => helpers}/dmidecode-helper/helper.cpp | 0
kcms/{about-distro/src => helpers}/dmidecode-helper/helper.h | 0
.../dmidecode-helper/org.kde.kinfocenter.dmidecode.actions | 0
7 files changed, 5 insertions(+), 2 deletions(-)
create mode 100644 kcms/helpers/CMakeLists.txt
rename kcms/{about-distro/src => helpers}/dmidecode-helper/CMakeLists.txt (100%)
rename kcms/{about-distro/src => helpers}/dmidecode-helper/helper.cpp (100%)
rename kcms/{about-distro/src => helpers}/dmidecode-helper/helper.h (100%)
rename kcms/{about-distro/src => helpers}/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions (100%)
diff --git a/kcms/CMakeLists.txt b/kcms/CMakeLists.txt
index f283f477..ce534f40 100644
--- a/kcms/CMakeLists.txt
+++ b/kcms/CMakeLists.txt
@@ -1,3 +1,4 @@
+add_subdirectory(helpers)
add_subdirectory( about-distro )
add_subdirectory(vulkan)
diff --git a/kcms/about-distro/src/CMakeLists.txt b/kcms/about-distro/src/CMakeLists.txt
index fffb24d6..961ac959 100644
--- a/kcms/about-distro/src/CMakeLists.txt
+++ b/kcms/about-distro/src/CMakeLists.txt
@@ -1,8 +1,6 @@
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/Version.h)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
-add_subdirectory(dmidecode-helper)
-
set(kcm_SRCS
CPUEntry.cpp
CPUEntry.h
diff --git a/kcms/helpers/CMakeLists.txt b/kcms/helpers/CMakeLists.txt
new file mode 100644
index 00000000..cbf024bd
--- /dev/null
+++ b/kcms/helpers/CMakeLists.txt
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# SPDX-FileCopyrightText: 2024 Kristen McWilliam <kmcwilliampublic@gmail.com>
+
+add_subdirectory(dmidecode-helper)
diff --git a/kcms/about-distro/src/dmidecode-helper/CMakeLists.txt b/kcms/helpers/dmidecode-helper/CMakeLists.txt
similarity index 100%
rename from kcms/about-distro/src/dmidecode-helper/CMakeLists.txt
rename to kcms/helpers/dmidecode-helper/CMakeLists.txt
diff --git a/kcms/about-distro/src/dmidecode-helper/helper.cpp b/kcms/helpers/dmidecode-helper/helper.cpp
similarity index 100%
rename from kcms/about-distro/src/dmidecode-helper/helper.cpp
rename to kcms/helpers/dmidecode-helper/helper.cpp
diff --git a/kcms/about-distro/src/dmidecode-helper/helper.h b/kcms/helpers/dmidecode-helper/helper.h
similarity index 100%
rename from kcms/about-distro/src/dmidecode-helper/helper.h
rename to kcms/helpers/dmidecode-helper/helper.h
diff --git a/kcms/about-distro/src/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions b/kcms/helpers/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions
similarity index 100%
rename from kcms/about-distro/src/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions
rename to kcms/helpers/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions
--
2.47.0

View File

@@ -1,150 +0,0 @@
From e6f449a1aa0bf5b1dceaff13390955bd3d21de9d Mon Sep 17 00:00:00 2001
From: Kristen McWilliam <kmcwilliampublic@gmail.com>
Date: Thu, 5 Sep 2024 13:03:45 -0400
Subject: [PATCH 2/3] refactor(dmidecode-helper): support multiple methods
This allows the helper to extend and support other
types of information, eg. memory information.
---
kcms/helpers/dmidecode-helper/helper.cpp | 60 +++++++++++++++++-------
kcms/helpers/dmidecode-helper/helper.h | 15 ++++++
2 files changed, 58 insertions(+), 17 deletions(-)
diff --git a/kcms/helpers/dmidecode-helper/helper.cpp b/kcms/helpers/dmidecode-helper/helper.cpp
index 396b2d74..e9d068dc 100644
--- a/kcms/helpers/dmidecode-helper/helper.cpp
+++ b/kcms/helpers/dmidecode-helper/helper.cpp
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
// SPDX-FileCopyrightText: 2021-2022 Harald Sitter <sitter@kde.org>
+// SPDX-FileCopyrightText: 2024 Kristen McWilliam <kmcwilliampublic@gmail.com>
#include "helper.h"
@@ -16,16 +17,18 @@ auto make_array(Input &&...args) -> std::array<Output, sizeof...(args)> // NB: w
return {std::forward<Input>(args)...};
}
-KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args)
+DMIDecodeHelper::DMIDecodeHelper(QObject *parent)
+ : QObject(parent)
{
- Q_UNUSED(args);
-
// PATH is super minimal when invoked through dbus
setenv("PATH", "/usr/sbin:/sbin:/usr/local/sbin", 1);
- const QString dmidecode = QStandardPaths::findExecutable("dmidecode");
- if (dmidecode.isEmpty()) {
- return KAuth::ActionReply::HelperErrorReply();
- }
+
+ m_dmidecodePath = QStandardPaths::findExecutable("dmidecode");
+}
+
+KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args)
+{
+ Q_UNUSED(args);
// NB: Microsoft also outlines a limited set of DMI values to be required for IOT OEM licensing, as such we
// can rely on the same fields to have sound content . Since this only applies to OEMs we still need to filter
@@ -33,19 +36,20 @@ KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args)
// https://docs.microsoft.com/en-us/windows-hardware/manufacture/iot/license-requirements?view=windows-11#smbios-support
KAuth::ActionReply reply;
- for (const auto &key : {QStringLiteral("system-manufacturer"),
- QStringLiteral("system-product-name"),
- QStringLiteral("system-version"),
- QStringLiteral("system-serial-number")}) {
- QProcess proc;
- proc.start(dmidecode, {QStringLiteral("--string"), key});
- proc.waitForFinished();
- const QByteArray output = proc.readAllStandardOutput().trimmed();
-
- if (output.isEmpty() || proc.error() != QProcess::UnknownError || proc.exitStatus() != QProcess::NormalExit) {
+
+ const auto keys = {QStringLiteral("system-manufacturer"),
+ QStringLiteral("system-product-name"),
+ QStringLiteral("system-version"),
+ QStringLiteral("system-serial-number")};
+
+ for (const auto &key : keys) {
+ auto result = executeDmidecode({QStringLiteral("--string"), key});
+ if (result.failed()) {
continue;
}
+ const auto output = result.data().value("result").toString();
+
// Fairly exhaustive filter list based on a dozen or so samples gathered from reddit and other places.
// These are values that may appear in the DMI system information but aren't really useful.
static const auto dummyData = make_array<QString>(QStringLiteral("system version"),
@@ -59,12 +63,34 @@ KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args)
QStringLiteral("not specified"),
QStringLiteral("not applicable")
/* may also be empty, but that is filtered above already */);
+
if (std::find(dummyData.cbegin(), dummyData.cend(), output.toLower()) != dummyData.cend()) {
continue;
}
reply.addData(key, output);
}
+
+ return reply;
+}
+
+KAuth::ActionReply DMIDecodeHelper::executeDmidecode(const QStringList &arguments)
+{
+ if (m_dmidecodePath.isEmpty()) {
+ return KAuth::ActionReply::HelperErrorReply();
+ }
+
+ QProcess proc;
+ proc.start(m_dmidecodePath, arguments);
+ proc.waitForFinished();
+ const QByteArray output = proc.readAllStandardOutput().trimmed();
+
+ if (output.isEmpty() || proc.error() != QProcess::UnknownError || proc.exitStatus() != QProcess::NormalExit) {
+ return KAuth::ActionReply::HelperErrorReply();
+ }
+
+ KAuth::ActionReply reply;
+ reply.addData("result", output);
return reply;
}
diff --git a/kcms/helpers/dmidecode-helper/helper.h b/kcms/helpers/dmidecode-helper/helper.h
index dd8fe90d..c1b588e8 100644
--- a/kcms/helpers/dmidecode-helper/helper.h
+++ b/kcms/helpers/dmidecode-helper/helper.h
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
// SPDX-FileCopyrightText: 2021 Harald Sitter <sitter@kde.org>
+// SPDX-FileCopyrightText: 2024 Kristen McWilliam <kmcwilliampublic@gmail.com>
#pragma once
@@ -8,6 +9,20 @@
class DMIDecodeHelper : public QObject
{
Q_OBJECT
+
+public:
+ explicit DMIDecodeHelper(QObject *parent = nullptr);
+
public Q_SLOTS:
KAuth::ActionReply systeminformation(const QVariantMap &args);
+
+private:
+ KAuth::ActionReply executeDmidecode(const QStringList &arguments);
+
+ /**
+ * Path to the dmidecode binary.
+ *
+ * If the binary is not found, this helper will not work.
+ */
+ QString m_dmidecodePath;
};
--
2.47.0

View File

@@ -1,254 +0,0 @@
From 375abcd571b991aa1ea8436fad6c7a4d30f62fa1 Mon Sep 17 00:00:00 2001
From: Kristen McWilliam <kmcwilliampublic@gmail.com>
Date: Mon, 14 Oct 2024 15:45:02 -0400
Subject: [PATCH 3/3] kcms/memory: use KAuth dmidecode helper
Refactor to use a KAuth helper to run dmidecode as
root, rather than using the CommandOutputContext.
This means the KCM no longer requires the user to
enter their password to view memory information,
and won't show an obtuse error like before if the
user cancelled the password dialog.
---
kcms/helpers/dmidecode-helper/helper.cpp | 26 ++++++++++
kcms/helpers/dmidecode-helper/helper.h | 5 ++
.../org.kde.kinfocenter.dmidecode.actions | 7 +++
kcms/memory/CMakeLists.txt | 9 +++-
kcms/memory/main.cpp | 48 ++++++++++++++++---
kcms/memory/ui/main.qml | 25 ++++++++--
6 files changed, 108 insertions(+), 12 deletions(-)
diff --git a/kcms/helpers/dmidecode-helper/helper.cpp b/kcms/helpers/dmidecode-helper/helper.cpp
index e9d068dc..11921934 100644
--- a/kcms/helpers/dmidecode-helper/helper.cpp
+++ b/kcms/helpers/dmidecode-helper/helper.cpp
@@ -26,6 +26,24 @@ DMIDecodeHelper::DMIDecodeHelper(QObject *parent)
m_dmidecodePath = QStandardPaths::findExecutable("dmidecode");
}
+KAuth::ActionReply DMIDecodeHelper::memoryinformation(const QVariantMap &args)
+{
+ Q_UNUSED(args);
+
+ KAuth::ActionReply reply;
+ auto result = executeDmidecode({QStringLiteral("--type"), QStringLiteral("17")});
+
+ if (result.failed()) {
+ qWarning() << "DMIDecodeHelper: Unable to get memory information";
+ return KAuth::ActionReply::HelperErrorReply();
+ }
+
+ const QString output = result.data().value("result").toString();
+ reply.addData("memory", output);
+
+ return reply;
+}
+
KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args)
{
Q_UNUSED(args);
@@ -45,6 +63,8 @@ KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args)
for (const auto &key : keys) {
auto result = executeDmidecode({QStringLiteral("--string"), key});
if (result.failed()) {
+ qWarning() << "DMIDecodeHelper: Unable to get system information for " << key;
+ // We don't want to fail the entire action if we can't get a single piece of information.
continue;
}
@@ -71,6 +91,12 @@ KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args)
reply.addData(key, output);
}
+ if (reply.data().isEmpty()) {
+ qWarning() << "DMIDecodeHelper: Unable to get system information";
+ // If we didn't get any data, we should fail the action.
+ return KAuth::ActionReply::HelperErrorReply();
+ }
+
return reply;
}
diff --git a/kcms/helpers/dmidecode-helper/helper.h b/kcms/helpers/dmidecode-helper/helper.h
index c1b588e8..805d5fa6 100644
--- a/kcms/helpers/dmidecode-helper/helper.h
+++ b/kcms/helpers/dmidecode-helper/helper.h
@@ -14,6 +14,11 @@ public:
explicit DMIDecodeHelper(QObject *parent = nullptr);
public Q_SLOTS:
+ /**
+ * Retrieves memory (RAM) information from dmidecode.
+ */
+ KAuth::ActionReply memoryinformation(const QVariantMap &args);
+
KAuth::ActionReply systeminformation(const QVariantMap &args);
private:
diff --git a/kcms/helpers/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions b/kcms/helpers/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions
index 66d3aa99..9f0c76f3 100644
--- a/kcms/helpers/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions
+++ b/kcms/helpers/dmidecode-helper/org.kde.kinfocenter.dmidecode.actions
@@ -1,5 +1,7 @@
# SPDX-License-Identifier: CC0-1.0
# SPDX-FileCopyrightText: 2021 Harald Sitter <sitter@kde.org>
+# SPDX-FileCopyrightText: 2024 Kristen McWilliam <kmcwilliampublic@gmail.com>
+
[Domain]
Icon=computer
URL=https://www.kde.org
@@ -47,6 +49,11 @@ Name[x-test]=xxDesktop Management Interfacexx
Name[zh_CN]=桌面管理界面 (DMI)
Name[zh_TW]=桌面管理介面
+[org.kde.kinfocenter.dmidecode.memoryinformation]
+Policy=yes
+Name=Memory Information
+Description=Read memory information from system's Desktop Management Interface (DMI)
+
[org.kde.kinfocenter.dmidecode.systeminformation]
Policy=yes
PolicyInactive=yes
diff --git a/kcms/memory/CMakeLists.txt b/kcms/memory/CMakeLists.txt
index 49219ac4..59c93b69 100644
--- a/kcms/memory/CMakeLists.txt
+++ b/kcms/memory/CMakeLists.txt
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# SPDX-FileCopyrightText: 2024 Thomas Duckworth <tduck973564@gmail.com>
+# SPDX-FileCopyrightText: 2024 Kristen McWilliam <kmcwilliampublic@gmail.com>
find_package(dmidecode)
set_package_properties(dmidecode PROPERTIES TYPE RUNTIME)
@@ -7,4 +8,10 @@ set_package_properties(dmidecode PROPERTIES TYPE RUNTIME)
add_definitions(-DTRANSLATION_DOMAIN=\"kcm_memory\")
kinfocenter_add_kcm(kcm_memory main.cpp)
-target_link_libraries(kcm_memory PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal)
+target_link_libraries(kcm_memory PRIVATE
+ KF6::AuthCore
+ KF6::CoreAddons
+ KF6::KCMUtilsQuick
+ KF6::I18n
+ KInfoCenterInternal
+)
diff --git a/kcms/memory/main.cpp b/kcms/memory/main.cpp
index d2190140..7aab18ce 100644
--- a/kcms/memory/main.cpp
+++ b/kcms/memory/main.cpp
@@ -1,30 +1,64 @@
/*
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
SPDX-FileCopyrightText: 2024 Thomas Duckworth <tduck973564@gmail.com>
+ SPDX-FileCopyrightText: 2024 Kristen McWilliam <kmcwilliampublic@gmail.com>
*/
+#include <KAuth/Action>
+#include <KAuth/ExecuteJob>
+#include <KLocalizedString>
#include <KPluginFactory>
#include <KQuickConfigModule>
-#include "CommandOutputContext.h"
-
class KCMMemory : public KQuickConfigModule
{
Q_OBJECT
- Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL)
+ Q_PROPERTY(QString memoryInformation READ memoryInformation NOTIFY changed)
public:
explicit KCMMemory(QObject *parent, const KPluginMetaData &data)
: KQuickConfigModule(parent, data)
{
- m_outputContext = new CommandOutputContext(QStringLiteral("pkexec"), {"dmidecode", "--type", "17"}, parent);
+ loadData();
}
- CommandOutputContext *outputContext() const
+
+ QString memoryInformation() const
{
- return m_outputContext;
+ return m_memoryInformation;
}
private:
- CommandOutputContext *m_outputContext;
+ Q_SIGNAL void changed();
+
+ /**
+ * The memory information that will be displayed in the KCM.
+ */
+ QString m_memoryInformation;
+
+ /**
+ * Load the memory information from the dmidecode helper.
+ */
+ void loadData()
+ {
+ KAuth::Action action(QStringLiteral("org.kde.kinfocenter.dmidecode.memoryinformation"));
+ action.setHelperId(QStringLiteral("org.kde.kinfocenter.dmidecode"));
+ KAuth::ExecuteJob *job = action.execute();
+
+ connect(job, &KJob::result, this, [this, job]() {
+ if (job->error()) {
+ qWarning() << "Failed to retrieve memory information: " << job->errorString();
+ return;
+ } else {
+ const auto reply = job->data();
+ if (reply.contains("memory")) {
+ m_memoryInformation = reply["memory"].toString();
+ }
+ }
+
+ Q_EMIT changed();
+ });
+
+ job->start();
+ }
};
K_PLUGIN_CLASS_WITH_JSON(KCMMemory, "kcm_memory.json")
diff --git a/kcms/memory/ui/main.qml b/kcms/memory/ui/main.qml
index 0300d619..42fdcbc7 100644
--- a/kcms/memory/ui/main.qml
+++ b/kcms/memory/ui/main.qml
@@ -1,14 +1,31 @@
/*
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
SPDX-FileCopyrightText: 2024 Thomas Duckworth <tduck973564@gmail.com>
+ SPDX-FileCopyrightText: 2024 Kristen McWilliam <kmcwilliampublic@gmail.com>
*/
-import QtQuick 2.5
+import QtQuick 2.15
+import org.kde.kirigami 2.20 as Kirigami
import org.kde.kcmutils as KCM
-import org.kde.kinfocenter.private 1.0 as KInfoCenter
+KCM.SimpleKCM {
+ id: kcm_memory
+ Kirigami.Theme.colorSet: Kirigami.Theme.View
+ Kirigami.Theme.inherit: false
-KInfoCenter.CommandOutputKCM {
- output: kcm.infoOutputContext
+ Kirigami.PlaceholderMessage {
+ anchors.centerIn: parent
+ width: parent.width - (Kirigami.Units.largeSpacing * 8)
+ visible: kcm.memoryInformation === ""
+ icon.name: "data-warning"
+ text: i18ndc("kinfocenter", "@info the KCM has no data to display", "No data available")
+ }
+
+ Kirigami.SelectableLabel {
+ id: text
+ text: kcm.memoryInformation
+ font.family: "monospace"
+ visible: kcm.memoryInformation !== ""
+ }
}
--
2.47.0

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9ed87edb3a24256189f8dc79c821b8f45589aab7032d8dde78d5d94cf0639ff9
size 732392

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmdy7PgACgkQ11dEg7tX
sY3N8hAAsQDSequKrBIJc6JJYxMSimq2LOBRTRMKp4nGDRIXMFzUKMVxjLiQY3DH
IgwGY7o12cxYvRnM3Ub3UEpFyeLfYgGFno9qIntp/cfj7Ef7T13z0a1xKjAXGaZT
5D14BRhRkCspSe6wXQB7Y4tkct16Uag7/Wk7jLb+FIU4VIFU5PiINT59L2YfOp1U
1guzAyiA9J6rbj9317IAMBWq/poHVYr8gqUOjCV3r+KcKzG7AHBHBbjfbwPHcXu4
RBCc7zTISi6/rTD5+5M3G5j5x4AYmHzZS44+TvNt82u17Nl+9yzhRFmSuYgtkojw
7zZ33RLgGkalYGvuQia/MeiUUGyTT4ygitanF+Q+qbYVV9jbnOjzfmLKHGt7MMQ+
gA1trPk2VUoRsxE5IOI+KrvEAuj40DUQKHYkz0ZoKOLpFXsIohguX2zAlq1QfSB3
XeFquIq/MYusgw99AS/A4NWa8Qz/lrM75kE6CdbDfyAXabXrCdj0XpxgqYHJyjVW
7vKD4WeUtp7Vx7frm488SWxCqblRmf0R6j+USpAXCs7MZHQACmw4PBMGZCFbrA0O
AEnoU0JgbjKsOc+jbta263m+qxF1yDol2tzX2w8PagwzgJaAhJNV31P4g6EIW3+g
Izq2PJoS64C9mkAUdSt95IBoc+EbLoRs5DZhkY/WY7wmmzBA6tg=
=BdEQ
-----END PGP SIGNATURE-----

3
kinfocenter-6.3.0.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:20fb607366d166390dc18beca8f9321813924305a0adfee91f795e4e05ead311
size 747832

View File

@@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmeklpAACgkQ11dEg7tX
sY2hpw//Sag4OEMDZy5QB5oyl00yeJpowAWSRlo0i5qEImrpLYboz7wtxdLxy9kw
cDsSIPvevfjUE8SEBPcPmbipDzW8vk3F32fEH4us7icJLng9uRg788hDurFhnN7b
fQ2wxiJHFyddWDNvuxk/xa4vHolgAJOAwlxXXMqvxXeNBUKaPlNS2VVkYt/7Fwgk
b4gqKBtgsYz2/Pari0n3L2jqOA/YUOMC3q3jpvdsINcV0T8uwsbQrO9NAlUQ/ppH
2FtnWO5+Di5Mea9dD2DHjSEtu4QdDgmGyUYXLPT1/qddvIB2OREurz73rn5nWVv7
kXR2Fs0NTjNa6850H0spAPmxGKpi9U9GdVxeBOosJB+Gafo94NquSEd3d9PqCuA2
J0mm+z3D5DvyZMwgiCQAsgd6UlSVN4I82XrOOVFmF2O82++rjpBn+4QyBFaO182I
RkUa9IpkaUG/2caEIMUzf2PLSNx9ibkxTQm30khvBDlHxwGGT7FVLrv9G+b6jk3Y
pxeSUStL2yOUNt2GYav8L3hqiKlIeZKFkv6yXoST7GyhZXLXJLqmWq/Y7rkZqzg9
MruVXciqBpV6E6we+RgrAIzcJiyYbGa9IYC5TlwN6C2RU5QxRmaLwQwhs36mFgKR
1BdwZ2W/Nq3sZaa/odonU9TrClhEkcHETk/G/5yvXcV4YMyjOlQ=
=6GpF
-----END PGP SIGNATURE-----

View File

@@ -1,3 +1,59 @@
-------------------------------------------------------------------
Thu Feb 6 13:46:44 UTC 2025 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.0:
* New bugfix release
* For more details see https://kde.org/announcements/plasma/6/6.3.0
- Changes since 6.2.91:
* update version for new release
* CommandOutputKCM: Use correct newlines for HTML-styled content (kde#499069)
-------------------------------------------------------------------
Thu Jan 23 13:45:26 UTC 2025 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.91:
* New bugfix release
* For more details see https://kde.org/announcements/plasma/6/6.2.91
- Changes since 6.2.90:
* update version for new release
* cmake: Call cmake_minimum_required before project()
-------------------------------------------------------------------
Sat Jan 11 18:27:20 UTC 2025 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.90:
* New feature release
* For more details see https://kde.org/announcements/plasma/6/6.2.90
- Changes since 6.2.5:
* update version for new release
* Made KDocTools optional
* It compiles fine without deprecated methods
* update version for new release
* energyinfo: Add "Charge Cycles" info
* about-distro: align labels top
* about-distro: hint gpu type
* about-distro: gpu factorization
* about-distro: new hint system
* about-distro: support multiple GPUs (kde#491527)
* Remove obsolete menu category files
* update version for new release
* appiumtests: fix wayland
* Don't include quiet packages in feature_summary
* Add "Documentation" as a category
* update version for new release
* add an edid module (kde#492523)
* update version for new release
* kcms/memory: use KAuth dmidecode helper
* refactor(dmidecode-helper): support multiple methods
* kcms: pull dmidecode-helper into a separate dir
* tidy appstream version information
* update version for new release
- Drop patches, now upstream:
* 0001-kcms-pull-dmidecode-helper-into-a-separate-dir.patch
* 0002-refactor-dmidecode-helper-support-multiple-methods.patch
* 0003-kcms-memory-use-KAuth-dmidecode-helper.patch
-------------------------------------------------------------------
Tue Dec 31 20:48:49 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package kinfocenter6
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,11 @@
#
%define kf6_version 6.5.0
%define kf6_version 6.10.0
%define qt6_version 6.7.0
%global __requires_exclude qt6qmlimport\\(org\\.kde\\.kinfocenter\\.private.*
%define rname kinfocenter
%bcond_without released
# Full Plasma 6 version (e.g. 6.0.0)
@@ -26,20 +28,16 @@
# Latest ABI-stable Plasma (e.g. 6.0 in KF6, but 6.0.80 in KUF)
%{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')}
Name: kinfocenter6
Version: 6.2.5
Version: 6.3.0
Release: 0
Summary: Utility that provides information about a computer system
License: GPL-2.0-or-later
URL: https://www.kde.org/
Source: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
Source: %{rname}-%{version}.tar.xz
%if %{with released}
Source1: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
Source1: %{rname}-%{version}.tar.xz.sig
Source2: plasma.keyring
%endif
# PATCH-FIX-UPSTREAM
Patch1: 0001-kcms-pull-dmidecode-helper-into-a-separate-dir.patch
Patch2: 0002-refactor-dmidecode-helper-support-multiple-methods.patch
Patch3: 0003-kcms-memory-use-KAuth-dmidecode-helper.patch
# PATCH-FIX-OPENSUSE
Patch100: 0002-Look-for-binaries-in-Mesa-demos-path-as-well.patch
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
@@ -111,8 +109,6 @@ KDE Utility that provides information about a computer system.
%{_kf6_applicationsdir}/org.kde.kinfocenter.desktop
%{_kf6_appstreamdir}/org.kde.kinfocenter.appdata.xml
%{_kf6_bindir}/kinfocenter
%dir %{_kf6_configdir}/menus
%{_kf6_configdir}/menus/kinfocenter.menu
%{_kf6_libdir}/libKInfoCenterInternal.so
%{_kf6_plugindir}/plasma/kcms/kcm_about-distro.so
%{_kf6_plugindir}/plasma/kcms/kcm_energyinfo.so
@@ -120,6 +116,7 @@ KDE Utility that provides information about a computer system.
%{_kf6_plugindir}/plasma/kcms/kinfocenter/kcm_audio_information.so
%{_kf6_plugindir}/plasma/kcms/kinfocenter/kcm_block_devices.so
%{_kf6_plugindir}/plasma/kcms/kinfocenter/kcm_cpu.so
%{_kf6_plugindir}/plasma/kcms/kinfocenter/kcm_edid.so
%{_kf6_plugindir}/plasma/kcms/kinfocenter/kcm_egl.so
%{_kf6_plugindir}/plasma/kcms/kinfocenter/kcm_firmware_security.so
%{_kf6_plugindir}/plasma/kcms/kinfocenter/kcm_glx.so
@@ -137,12 +134,14 @@ KDE Utility that provides information about a computer system.
%{_kf6_qmldir}/org/kde/kinfocenter/
%{_kf6_sharedir}/dbus-1/system-services/org.kde.kinfocenter.dmidecode.service
%{_kf6_dbuspolicydir}/org.kde.kinfocenter.dmidecode.conf
%{_kf6_sharedir}/desktop-directories/
%dir %{_kf6_sharedir}/kinfocenter/
%dir %{_kf6_sharedir}/kinfocenter/edid
%{_kf6_sharedir}/kinfocenter/edid/edid.sh
%{_kf6_sharedir}/kinfocenter/categories/
%{_kf6_sharedir}/kinfocenter/firmware_security/
%{_kf6_sharedir}/polkit-1/actions/org.kde.kinfocenter.dmidecode.policy
%{_kf6_libexecdir}/kauth/kinfocenter-dmidecode-helper
%{_libexecdir}/kinfocenter-opengl-helper
%files lang -f %{name}.lang
%exclude %{_kf6_htmldir}/en