From 44e835d69a3284dbdcad588596f725a504f4a9dc Mon Sep 17 00:00:00 2001 From: tigro Date: Mon, 15 Jan 2024 00:34:37 +0300 Subject: [PATCH] import PackageKit-Qt-1.1.1-2.el9 --- .PackageKit-Qt.metadata | 1 + .gitignore | 1 + SOURCES/offline-ask-authorization.patch | 78 +++++++ SOURCES/set-hints-before-transaction.patch | 96 ++++++++ SPECS/PackageKit-Qt.spec | 247 +++++++++++++++++++++ 5 files changed, 423 insertions(+) create mode 100644 .PackageKit-Qt.metadata create mode 100644 .gitignore create mode 100644 SOURCES/offline-ask-authorization.patch create mode 100644 SOURCES/set-hints-before-transaction.patch create mode 100644 SPECS/PackageKit-Qt.spec 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 +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 +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 + #include + #include ++#include + + #include "transaction.h" + #include "transactionproxy.h" +@@ -84,6 +85,7 @@ protected: + bool sentFinished = false; + bool allowCancel = false; + bool callerActive = false; ++ std::optional 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 - 1.1.1-2 +- Rebuilt for MSVSphere 9.3 + +* Sat Jul 22 2023 Alessandro Astone - 1.1.1-2 +- Backport fixes for Discover distro upgrade + +* Sat Jul 22 2023 Alessandro Astone - 1.1.1-1 +- Update to 1.1.1 + +* Wed Jul 19 2023 Fedora Release Engineering - 1.0.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 1.0.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 1.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jan 25 2021 Fedora Release Engineering - 1.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Nov 11 2020 Rex Dieter - 1.0.2-1 +- 1.0.2 + +* Fri Oct 02 2020 Rex Dieter - 1.0.1-8 +- use new cmake macros + +* Sat Aug 01 2020 Fedora Release Engineering - 1.0.1-7 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 1.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Feb 20 2018 Rex Dieter - 1.0.1-1 +- BR: gcc-c++, use %%ldconfig_scriptlets +- 1.0.1 + +* Wed Feb 07 2018 Fedora Release Engineering - 1.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 16 2018 Jan Grulich - 1.0.0-1 +- Fix build against PackageKit::Offline + +* Tue Jan 16 2018 Jan Grulich - 1.0.0-1 +- 1.0.0 + +* Fri Jan 12 2018 Rex Dieter - 0.10.0-1 +- 0.10.0 + +* Wed Aug 02 2017 Fedora Release Engineering - 0.9.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.9.5-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.9.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 0.9.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Oct 29 2015 Rex Dieter - 0.9.5-5 +- drop old Provides: PackageKit-qt +- -Requires/+Recommends: PackageKit + +* Tue Oct 27 2015 Rex Dieter 0.9.5-4 +- .spec cosmetics + +* Tue Jun 16 2015 Fedora Release Engineering - 0.9.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 0.9.5-2 +- Rebuilt for GCC 5 C++11 ABI change + +* Mon Oct 13 2014 Rex Dieter 0.9.5-1 +- 0.9.5 + +* Fri Oct 03 2014 Rex Dieter 0.9.2-7 +- cleanup, pull in latest upstream fixes, -Qt5 support + +* Thu Sep 04 2014 Adam Williamson - 0.9.2-6 +- require PackageKit (#1003122) + +* Wed Aug 27 2014 Rex Dieter 0.9.2-5 +- drop Properly-export-cmake-targets.patch, breaks apper build + +* Tue Aug 26 2014 Rex Dieter 0.9.2-4 +- pull in some upstream fixes + +* Fri Aug 15 2014 Fedora Release Engineering - 0.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 06 2014 Fedora Release Engineering - 0.9.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 29 2014 Rex Dieter 0.9.2-1 +- 0.9.2 release + +* Sat Apr 26 2014 Rex Dieter 0.9.0-0.3.20140424git +- 20140424 snapshot + +* Tue Apr 22 2014 Rex Dieter 0.9.0-0.1.20140421git +- fresh git snapshot + +* Tue Apr 08 2014 Daniel Vrátil - 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 - 0.8.9-1 +- Update to latest upstream release + +* Fri Aug 02 2013 Fedora Release Engineering - 0.8.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu May 09 2013 Richard Hughes 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 0.8.7-3 +- pickup/test upstream crash fix (kde#315009) + +* Wed Feb 13 2013 Fedora Release Engineering - 0.8.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jan 17 2013 Richard Hughes 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 0.8.6-3 +- fixup dir ownership +- use pkgconfig-style deps +- tighten subpkg dep via %%?_isa + +* Mon Nov 26 2012 Richard Hughes 0.8.6-2 +- Added obsoletes/provides as required for the Fedora package review + +* Mon Nov 26 2012 Richard Hughes 0.8.6-1 +- Initial version for Fedora package review