[packages/kp5-discover] - rel 2, fix building with fwupd 2.x

baggins baggins at pld-linux.org
Sat Aug 29 11:17:22 CEST 2026


commit 0a1bff3189f89f9f2e4827648564d220de70798c
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Aug 29 11:17:01 2026 +0200

    - rel 2, fix building with fwupd 2.x

 fwupd2.patch      | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 kp5-discover.spec |   4 +-
 2 files changed, 141 insertions(+), 1 deletion(-)
---
diff --git a/kp5-discover.spec b/kp5-discover.spec
index 76eb453..dce270b 100644
--- a/kp5-discover.spec
+++ b/kp5-discover.spec
@@ -9,11 +9,12 @@ Summary:	Discover - KDE Software Center
 Summary(pl.UTF-8):	Odkrywca - Ośrodek programów KDE
 Name:		kp5-%{kpname}
 Version:	5.27.12
-Release:	1
+Release:	2
 License:	GPL v2+/LGPL v2.1+
 Group:		X11/Libraries
 Source0:	https://download.kde.org/stable/plasma/%{kdeplasmaver}/%{kpname}-%{version}.tar.xz
 # Source0-md5:	0191263c4f417619e81f41a761420c36
+Patch0:		fwupd2.patch
 URL:		https://kde.org/
 BuildRequires:	AppStream-qt5-devel >= 1.0.2-2
 BuildRequires:	PackageKit-qt5-devel >= 1.0.1
@@ -86,6 +87,7 @@ Odkrywca - Ośrodek programów KDE.
 
 %prep
 %setup -q -n %{kpname}-%{version}
+%patch -P0 -p1
 
 %build
 %cmake -B build \
diff --git a/fwupd2.patch b/fwupd2.patch
new file mode 100644
index 0000000..aa010a1
--- /dev/null
+++ b/fwupd2.patch
@@ -0,0 +1,138 @@
+diff -ur discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdBackend.cpp discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdBackend.cpp
+--- discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdBackend.cpp	2025-01-06 18:56:04.000000000 +0100
++++ discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdBackend.cpp	2026-08-04 11:19:44.000000000 +0200
+@@ -198,7 +216,12 @@
+         return nullptr;
+     }
+ 
++#if FWUPD_CHECK_VERSION(1, 5, 6)
++    GPtrArray *locations = fwupd_release_get_locations(release);
++    const QUrl update_uri(locations->len == 0 ? QString::fromUtf8("") : QString::fromUtf8((const gchar *)g_ptr_array_index(locations, 0)));
++#else
+     const QUrl update_uri(QString::fromUtf8(fwupd_release_get_uri(release)));
++#endif
+     if (!update_uri.isValid()) {
+         qWarning() << "Fwupd Error: No Update URI available for" << app->name() << "[" << app->id() << "]";
+         return nullptr;
+@@ -323,15 +350,18 @@
+ {
+     for (uint i = 0; remotes && i < remotes->len; i++) {
+         FwupdRemote *remote = (FwupdRemote *)g_ptr_array_index(remotes, i);
+-        if (!fwupd_remote_get_enabled(remote))
++        if (!fwupd_remote_has_flag(remote, FWUPD_REMOTE_FLAG_ENABLED))
+             continue;
+ 
+-        if (fwupd_remote_get_kind(remote) == FWUPD_REMOTE_KIND_LOCAL
+-            || fwupd_remote_get_kind(remote) == FWUPD_REMOTE_KIND_DIRECTORY) {
++        if (fwupd_remote_get_kind(remote) == FWUPD_REMOTE_KIND_LOCAL || fwupd_remote_get_kind(remote) == FWUPD_REMOTE_KIND_DIRECTORY) {
+             continue;
+         }
+ 
+-        fwupd_client_refresh_remote_async(client, remote, m_cancellable, fwupd_client_refresh_remote_cb, this);
++#if FWUPD_CHECK_VERSION(2, 0, 0)
++        fwupd_client_refresh_remote_async(client, remote, FWUPD_CLIENT_DOWNLOAD_FLAG_NONE, m_cancellable, fwupd_client_refresh_remote_cb, this);
++#else
++        fwupd_client_refresh_remote2_async(client, remote, FWUPD_CLIENT_DOWNLOAD_FLAG_NONE, m_cancellable, fwupd_client_refresh_remote_cb, this);
++#endif
+     }
+ }
+ 
+diff -ur discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdResource.cpp discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdResource.cpp
+--- discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdResource.cpp	2025-01-06 18:56:04.000000000 +0100
++++ discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdResource.cpp	2026-08-04 11:19:44.000000000 +0200
+@@ -161,13 +162,17 @@
+     m_description = QString::fromUtf8((fwupd_release_get_description(release)));
+     m_homepage = QUrl(QString::fromUtf8(fwupd_release_get_homepage(release)));
+     m_license = QString::fromUtf8(fwupd_release_get_license(release));
++#if FWUPD_CHECK_VERSION(1, 5, 6)
++    GPtrArray *locations = fwupd_release_get_locations(release);
++    m_updateURI = locations->len == 0 ? QString::fromUtf8("") : QString::fromUtf8((const gchar *)g_ptr_array_index(locations, 0));
++#else
+     m_updateURI = QString::fromUtf8(fwupd_release_get_uri(release));
++#endif
+ }
+ 
+ void FwupdResource::setDeviceDetails(FwupdDevice *dev)
+ {
+     m_isLiveUpdatable = fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_UPDATABLE);
+-    m_isOnlyOffline = fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_ONLY_OFFLINE);
+     m_needsReboot = fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_NEEDS_REBOOT);
+ 
+     if (fwupd_device_get_name(dev)) {
+@@ -182,7 +187,6 @@
+     m_vendor = QString::fromUtf8(fwupd_device_get_vendor(dev));
+     m_releaseDate = QDateTime::fromSecsSinceEpoch(fwupd_device_get_created(dev)).date();
+     m_availableVersion = QString::fromUtf8(fwupd_device_get_version(dev));
+-    m_description = QString::fromUtf8((fwupd_device_get_description(dev)));
+ 
+     if (fwupd_device_get_icons(dev)->len >= 1)
+         m_iconName = QString::fromUtf8((const gchar *)g_ptr_array_index(fwupd_device_get_icons(dev), 0)); // Check whether given icon exists or not!
+diff -ur discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdResource.h discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdResource.h
+--- discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdResource.h	2025-01-06 18:56:04.000000000 +0100
++++ discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdResource.h	2026-08-04 11:19:44.000000000 +0200
+@@ -102,11 +102,6 @@
+         return m_isDeviceLocked;
+     }
+ 
+-    bool isOnlyOffline() const
+-    {
+-        return m_isOnlyOffline;
+-    }
+-
+     bool isLiveUpdatable() const
+     {
+         return m_isLiveUpdatable;
+@@ -146,7 +141,6 @@
+ 
+     QString m_updateURI;
+     bool m_isDeviceLocked = false; // True if device is locked!
+-    bool m_isOnlyOffline = false; // True if only offline updates
+     bool m_isLiveUpdatable = false; // True if device is live updatable
+     bool m_needsReboot = false; // True if device needs Reboot
+     QString m_origin;
+diff -ur discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp
+--- discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp	2025-01-06 18:56:04.000000000 +0100
++++ discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp	2026-08-04 11:19:44.000000000 +0200
+@@ -34,7 +34,7 @@
+         case Qt::CheckStateRole: {
+             if (value == Qt::Checked) {
+                 m_backend->m_currentItem = item;
+-                if (fwupd_remote_get_approval_required(remote)) {
++                if (fwupd_remote_has_flag(remote, FWUPD_REMOTE_FLAG_APPROVAL_REQUIRED)) {
+                     QString eulaText = i18n("The remote %1 require that you accept their license:\n %2",
+                                             QString::fromUtf8(fwupd_remote_get_title(remote)),
+                                             QString::fromUtf8(fwupd_remote_get_agreement(remote)));
+@@ -88,7 +88,7 @@
+         it->setData(id, AbstractSourcesBackend::IdRole);
+         it->setData(QVariant(QString::fromUtf8(fwupd_remote_get_title(remote))), Qt::ToolTipRole);
+         it->setCheckable(true);
+-        it->setCheckState(fwupd_remote_get_enabled(remote) ? Qt::Checked : Qt::Unchecked);
++        it->setCheckState(fwupd_remote_has_flag(remote, FWUPD_REMOTE_FLAG_ENABLED) ? Qt::Checked : Qt::Unchecked);
+         m_sources->appendRow(it);
+     }
+ }
+@@ -121,7 +121,7 @@
+ {
+     FwupdRemote *remote =
+         fwupd_client_get_remote_by_id(backend->client, m_currentItem->data(AbstractSourcesBackend::IdRole).toString().toUtf8().constData(), nullptr, nullptr);
+-    m_currentItem->setCheckState(fwupd_remote_get_enabled(remote) ? Qt::Checked : Qt::Unchecked);
++    m_currentItem->setCheckState(fwupd_remote_has_flag(remote, FWUPD_REMOTE_FLAG_ENABLED) ? Qt::Checked : Qt::Unchecked);
+ 
+     m_currentItem = nullptr;
+ }
+diff -ur discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp
+--- discover-5.27.12/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp	2025-01-06 18:56:04.000000000 +0100
++++ discover-6.7.4/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp	2026-08-04 11:19:44.000000000 +0200
+@@ -83,11 +87,7 @@
+     FwupdInstallFlags install_flags = FWUPD_INSTALL_FLAG_NONE;
+     g_autoptr(GError) error = nullptr;
+ 
+-    /* only offline supported */
+-    if (m_app->isOnlyOffline())
+-        install_flags = static_cast<FwupdInstallFlags>(install_flags | FWUPD_INSTALL_FLAG_OFFLINE);
+-
+-    if (!fwupd_client_install(m_backend->client, m_app->deviceId().toUtf8().constData(), file.toUtf8().constData(), install_flags, nullptr, &error)) {
++    if (!fwupd_client_install(m_backend->client, m_app->deviceId().toUtf8().constData(), file.toUtf8().constData(), install_flags, nullptr, &error)) {
+         m_backend->handleError(error);
+         setStatus(DoneWithErrorStatus);
+     } else
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kp5-discover.git/commitdiff/0a1bff3189f89f9f2e4827648564d220de70798c



More information about the pld-cvs-commit mailing list