commit 44e835d69a3284dbdcad588596f725a504f4a9dc
Author: tigro <tigro@msvsphere-os.ru>
Date:   Mon Jan 15 00:34:37 2024 +0300

    import PackageKit-Qt-1.1.1-2.el9

diff --git a/.PackageKit-Qt.metadata b/.PackageKit-Qt.metadata
new file mode 100644
index 0000000..f0dbdf6
--- /dev/null
+++ b/.PackageKit-Qt.metadata
@@ -0,0 +1 @@
+2b81c8d01a6ea9271a33fd5b95a565d13fc152cd  SOURCES/v1.1.1.tar.gz
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f779712
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/v1.1.1.tar.gz
diff --git a/SOURCES/offline-ask-authorization.patch b/SOURCES/offline-ask-authorization.patch
new file mode 100644
index 0000000..f50075d
--- /dev/null
+++ b/SOURCES/offline-ask-authorization.patch
@@ -0,0 +1,78 @@
+From 60ba050ce7c0bf650d23d597f7a11217213b5e48 Mon Sep 17 00:00:00 2001
+From: Aleix Pol <aleixpol@kde.org>
+Date: Thu, 16 Mar 2023 17:14:31 +0100
+Subject: [PATCH] offline: Make sure we allow for interactive authorization
+
+Otherwise it might result in
+org.freedesktop.DBus.Error.InteractiveAuthorizationRequired
+which PackageKit already contemplates.
+---
+ src/offline.cpp | 40 ++++++++++++++++++++++++++++++++++------
+ 1 file changed, 34 insertions(+), 6 deletions(-)
+
+diff --git a/src/offline.cpp b/src/offline.cpp
+index 01d0986..b28ccb7 100644
+--- a/src/offline.cpp
++++ b/src/offline.cpp
+@@ -92,7 +92,15 @@ QDBusPendingReply<> Offline::trigger(Action action)
+     };
+     Q_ASSERT(!actionStr.isEmpty());
+ 
+-    return d->iface.Trigger(actionStr);
++    // Manually invoke dbus because the qdbusxml2cpp does not allow
++    // setting the ALLOW_INTERACTIVE_AUTHORIZATION flag
++    auto msg = QDBusMessage::createMethodCall(PK_NAME,
++                                              PK_PATH,
++                                              PK_OFFLINE_INTERFACE,
++                                              QStringLiteral("Trigger"));
++    msg << actionStr;
++    msg.setInteractiveAuthorizationAllowed(true);
++    return QDBusConnection::systemBus().asyncCall(msg);
+ }
+ 
+ QDBusPendingReply<> Offline::triggerUpgrade(Action action)
+@@ -112,19 +120,39 @@ QDBusPendingReply<> Offline::triggerUpgrade(Action action)
+     };
+     Q_ASSERT(!actionStr.isEmpty());
+ 
+-    return d->iface.TriggerUpgrade(actionStr);
++    // Manually invoke dbus because the qdbusxml2cpp does not allow
++    // setting the ALLOW_INTERACTIVE_AUTHORIZATION flag
++    auto msg = QDBusMessage::createMethodCall(PK_NAME,
++                                              PK_PATH,
++                                              PK_OFFLINE_INTERFACE,
++                                              QStringLiteral("TriggerUpgrade"));
++    msg << actionStr;
++    msg.setInteractiveAuthorizationAllowed(true);
++    return QDBusConnection::systemBus().asyncCall(msg, 24 * 60 * 1000 * 1000);
+ }
+ 
+ QDBusPendingReply<> Offline::cancel()
+ {
+-    Q_D(Offline);
+-    return d->iface.Cancel();
++    // Manually invoke dbus because the qdbusxml2cpp does not allow
++    // setting the ALLOW_INTERACTIVE_AUTHORIZATION flag
++    auto msg = QDBusMessage::createMethodCall(PK_NAME,
++                                              PK_PATH,
++                                              PK_OFFLINE_INTERFACE,
++                                              QStringLiteral("Cancel"));
++    msg.setInteractiveAuthorizationAllowed(true);
++    return QDBusConnection::systemBus().asyncCall(msg);
+ }
+ 
+ QDBusPendingReply<> Offline::clearResults()
+ {
+-    Q_D(Offline);
+-    return d->iface.ClearResults();
++    // Manually invoke dbus because the qdbusxml2cpp does not allow
++    // setting the ALLOW_INTERACTIVE_AUTHORIZATION flag
++    auto msg = QDBusMessage::createMethodCall(PK_NAME,
++                                              PK_PATH,
++                                              PK_OFFLINE_INTERFACE,
++                                              QStringLiteral("ClearResults"));
++    msg.setInteractiveAuthorizationAllowed(true);
++    return QDBusConnection::systemBus().asyncCall(msg);
+ }
+ 
+ void Offline::getPrepared()
diff --git a/SOURCES/set-hints-before-transaction.patch b/SOURCES/set-hints-before-transaction.patch
new file mode 100644
index 0000000..94ad503
--- /dev/null
+++ b/SOURCES/set-hints-before-transaction.patch
@@ -0,0 +1,96 @@
+From 40b24cb41e3a16cf68b664f212837eb26d7e1a27 Mon Sep 17 00:00:00 2001
+From: Alessandro Astone <ales.astone@gmail.com>
+Date: Mon, 28 Aug 2023 16:39:09 +0200
+Subject: [PATCH] Allow Transaction::setHints before the transaction has
+ started
+
+---
+ CMakeLists.txt             | 2 +-
+ src/transaction.cpp        | 1 +
+ src/transaction.h          | 7 +++++--
+ src/transactionprivate.cpp | 2 +-
+ src/transactionprivate.h   | 2 ++
+ 5 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 69c22f7..92c7d72 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -66,7 +66,7 @@ set (LOCALSTATEDIR "/var")
+ set (CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/packagekitqt${QT_VERSION_MAJOR}/")
+ 
+ add_definitions("-DLOCALSTATEDIR=\"${LOCALSTATEDIR}\"")
+-set (CMAKE_CXX_STANDARD 11)
++set (CMAKE_CXX_STANDARD 17)
+ 
+ configure_file(config.h.in ${CMAKE_BINARY_DIR}/config.h)
+ 
+diff --git a/src/transaction.cpp b/src/transaction.cpp
+index 9c733aa..48f07ed 100644
+--- a/src/transaction.cpp
++++ b/src/transaction.cpp
+@@ -300,6 +300,7 @@ Transaction::Role Transaction::role() const
+ QDBusPendingReply<> Transaction::setHints(const QStringList &hints)
+ {
+     Q_D(Transaction);
++    d->hints = hints;
+     if (d->p) {
+         return d->p->SetHints(hints);
+     }
+diff --git a/src/transaction.h b/src/transaction.h
+index 46a2fac..510773e 100644
+--- a/src/transaction.h
++++ b/src/transaction.h
+@@ -634,11 +634,14 @@ public:
+      * the package manager which can change as the transaction runs.
+      *
+      * This method can be sent before the transaction has been run
+-     * (by using Daemon::setHints) or whilst it is running
+-     * (by using Transaction::setHints).
++     * or whilst it is running. If it is used before the transaction has
++     * been run, the return value is meaningless: the \p hints will be
++     * applied upon starting the transaction.
+      * There is no limit to the number of times this
+      * method can be sent, although some backends may only use the values
+      * that were set before the transaction was started.
++     * This method will override the global hints previously set by
++     * Daemon::setHints, that are otherwise used by default.
+      *
+      * The \p hints can be filled with entries like these
+      * ('locale=en_GB.utf8','idle=true','interactive=false').
+diff --git a/src/transactionprivate.cpp b/src/transactionprivate.cpp
+index b4b44b7..550e0ab 100644
+--- a/src/transactionprivate.cpp
++++ b/src/transactionprivate.cpp
+@@ -49,7 +49,7 @@ void TransactionPrivate::setup(const QDBusObjectPath &transactionId)
+                                                          tid.path(),
+                                                          QDBusConnection::systemBus(),
+                                                          q);
+-    QStringList hints = Daemon::global()->hints();
++    QStringList hints = this->hints ? *this->hints : Daemon::global()->hints();
+     hints << QStringLiteral("supports-plural-signals=true");
+     q->setHints(hints);
+ 
+diff --git a/src/transactionprivate.h b/src/transactionprivate.h
+index 69217a8..01463c7 100644
+--- a/src/transactionprivate.h
++++ b/src/transactionprivate.h
+@@ -26,6 +26,7 @@
+ #include <QList>
+ #include <QStringList>
+ #include <QDBusPendingCallWatcher>
++#include <optional>
+ 
+ #include "transaction.h"
+ #include "transactionproxy.h"
+@@ -84,6 +85,7 @@ protected:
+     bool sentFinished = false;
+     bool allowCancel = false;
+     bool callerActive = false;
++    std::optional<QStringList> hints;
+ 
+     // Queue params
+     QString eulaId;
+-- 
+2.41.0
+
diff --git a/SPECS/PackageKit-Qt.spec b/SPECS/PackageKit-Qt.spec
new file mode 100644
index 0000000..3300410
--- /dev/null
+++ b/SPECS/PackageKit-Qt.spec
@@ -0,0 +1,247 @@
+
+%undefine __cmake_in_source_build
+
+Summary:   Qt support library for PackageKit
+Name:      PackageKit-Qt
+Version:   1.1.1
+Release:   2%{?dist}
+
+License:   LGPLv2+
+URL:       http://www.packagekit.org/
+
+Source0:   https://github.com/hughsie/PackageKit-Qt/archive/v%{version}.tar.gz
+
+# Upstream patches
+Patch0:    offline-ask-authorization.patch
+Patch1:    set-hints-before-transaction.patch
+
+BuildRequires: cmake
+BuildRequires: cmake(Qt5DBus)
+BuildRequires: cmake(Qt5Sql)
+BuildRequires: gcc-c++
+# required for /usr/share/dbus-1/interfaces/*.xml
+BuildRequires: PackageKit >= 0.9.1
+
+Recommends: PackageKit
+
+## FIXME/TODO:
+# Qt4-based PackageKit-Qt no longer supported or built since 0.10.0 release, add Obsoletes somewhere?
+# consider renaming PackageKit-Qt5 -> PackageKit-Qt ? -- rex
+
+%description
+PackageKit-Qt is a Qt support library for PackageKit
+
+%package -n PackageKit-Qt5
+Summary: Qt5 support library for PackageKit
+Recommends: PackageKit
+%description -n PackageKit-Qt5
+%{summary}.
+
+%package -n PackageKit-Qt5-devel
+Summary: Development files for PackageKit-Qt5
+Requires: PackageKit-Qt5%{?_isa} = %{version}-%{release}
+%description -n PackageKit-Qt5-devel
+%{summary}.
+
+
+%prep
+%autosetup -p1
+
+
+%build
+%cmake
+
+%cmake_build
+
+
+%install
+%cmake_install
+
+
+%ldconfig_scriptlets -n PackageKit-Qt5
+
+%files -n PackageKit-Qt5
+%doc AUTHORS NEWS
+%license COPYING
+%{_libdir}/libpackagekitqt5.so.%{version}
+%{_libdir}/libpackagekitqt5.so.1
+
+%files -n PackageKit-Qt5-devel
+%{_libdir}/libpackagekitqt5.so
+%{_libdir}/pkgconfig/packagekitqt5.pc
+%{_includedir}/packagekitqt5/
+%dir %{_libdir}/cmake
+%{_libdir}/cmake/packagekitqt5/
+
+
+%changelog
+* Mon Jan 15 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 1.1.1-2
+- Rebuilt for MSVSphere 9.3
+
+* Sat Jul 22 2023 Alessandro Astone <ales.astone@gmail.com> - 1.1.1-2
+- Backport fixes for Discover distro upgrade
+
+* Sat Jul 22 2023 Alessandro Astone <ales.astone@gmail.com> - 1.1.1-1
+- Update to 1.1.1
+
+* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Nov 11 2020 Rex Dieter <rdieter@fedoraproject.org> - 1.0.2-1
+- 1.0.2
+
+* Fri Oct 02 2020 Rex Dieter <rdieter@fedoraproject.org> - 1.0.1-8
+- use new cmake macros
+
+* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-7
+- Second attempt - Rebuilt for
+  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Feb 20 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.0.1-1
+- BR: gcc-c++, use %%ldconfig_scriptlets
+- 1.0.1
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Tue Jan 16 2018 Jan Grulich <jgrulich@redhat.com> - 1.0.0-1
+- Fix build against PackageKit::Offline
+
+* Tue Jan 16 2018 Jan Grulich <jgrulich@redhat.com> - 1.0.0-1
+- 1.0.0
+
+* Fri Jan 12 2018 Rex Dieter <rdieter@fedoraproject.org> - 0.10.0-1
+- 0.10.0
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Thu Oct 29 2015 Rex Dieter <rdieter@fedoraproject.org> - 0.9.5-5
+- drop old Provides: PackageKit-qt
+- -Requires/+Recommends: PackageKit
+
+* Tue Oct 27 2015 Rex Dieter <rdieter@fedoraproject.org> 0.9.5-4
+- .spec cosmetics
+
+* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.9.5-2
+- Rebuilt for GCC 5 C++11 ABI change
+
+* Mon Oct 13 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.5-1
+- 0.9.5
+
+* Fri Oct 03 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.2-7
+- cleanup, pull in latest upstream fixes, -Qt5 support
+
+* Thu Sep 04 2014 Adam Williamson <awilliam@redhat.com> - 0.9.2-6
+- require PackageKit (#1003122)
+
+* Wed Aug 27 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.2-5
+- drop Properly-export-cmake-targets.patch, breaks apper build
+
+* Tue Aug 26 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.2-4
+- pull in some upstream fixes
+
+* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Tue Apr 29 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.2-1
+- 0.9.2 release
+
+* Sat Apr 26 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.0-0.3.20140424git
+- 20140424 snapshot
+
+* Tue Apr 22 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.0-0.1.20140421git
+- fresh git snapshot
+
+* Tue Apr 08 2014 Daniel Vrátil <dvratil@redhat.com> - 0.9.0-0.1
+- Update to 0.9.0 git snapshot, 0.8.x does not build against PackageKit 0.9.0 which is in rawhide
+
+* Tue Apr 08 2014 Daniel Vrátil <dvratil@redhat.com> - 0.8.9-1
+- Update to latest upstream release
+
+* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.8-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Thu May 09 2013 Richard Hughes <richard@hughsie.com> 0.8.8-1
+- New upstream release
+- Adding Provides property to Daemon
+- Adding some Meta information
+- Add missing declare enums
+- Adds the transactionFlags to the Transaction class
+- Add TransactionFlags registration
+- Fix searchGroups() be iterating over the flaged values
+- Ignore Interface isValid() check
+- Implement connectNotify and disconnectNotify
+- Improve error handling and make it easier for QML use it
+- Make sure we set an error if we fail to contact PackageKit
+
+* Thu Mar 07 2013 Rex Dieter <rdieter@fedoraproject.org> 0.8.7-3
+- pickup/test upstream crash fix (kde#315009)
+
+* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Thu Jan 17 2013 Richard Hughes <richard@hughsie.com> 0.8.7-1
+- New upstream release
+- Add back the destroy() signal
+- Make our package spliters static
+- Make sure we waitForFinishe() when getting the TransactionList
+- Only call Cancel() if the transaction proxy exist
+- The full namespace is needed for a slot to be called
+- Workaround Qt bug not contructing default values when the call fails
+
+* Mon Nov 26 2012 Rex Dieter <rdieter@fedoraproject.org> 0.8.6-3
+- fixup dir ownership
+- use pkgconfig-style deps
+- tighten subpkg dep via %%?_isa
+
+* Mon Nov 26 2012 Richard Hughes <richard@hughsie.com> 0.8.6-2
+- Added obsoletes/provides as required for the Fedora package review
+
+* Mon Nov 26 2012 Richard Hughes <richard@hughsie.com> 0.8.6-1
+- Initial version for Fedora package review