Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package PackageKit-Qt for openSUSE:Factory 
checked in at 2023-03-02 23:03:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/PackageKit-Qt (Old)
 and      /work/SRC/openSUSE:Factory/.PackageKit-Qt.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "PackageKit-Qt"

Thu Mar  2 23:03:02 2023 rev:19 rq:1068443 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/PackageKit-Qt/PackageKit-Qt.changes      
2022-07-07 12:56:42.451264608 +0200
+++ /work/SRC/openSUSE:Factory/.PackageKit-Qt.new.31432/PackageKit-Qt.changes   
2023-03-02 23:03:22.623419896 +0100
@@ -1,0 +2,15 @@
+Wed Mar  1 08:09:00 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Update to 1.1.0:
+  * Make PackageKit-Qt depend on Qt 5.10
+  * Add build system support for Qt6
+  * Add support for plural signals
+  * Prefer invoking methods by pointer rather than by name
+  * Emit error if transaction is already done before watcher setup
+  * offline: Address issues with dbus connections
+  * Add the missing pkgconfig file for Qt 6 builds
+  * Replace 404 Link by working one in README
+- Drop patch, merged upstream:
+  * 0001-Add-build-system-support-for-Qt6.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-Add-build-system-support-for-Qt6.patch
  PackageKit-Qt-1.0.2.tar.gz

New:
----
  PackageKit-Qt-1.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ PackageKit-Qt.spec ++++++
--- /var/tmp/diff_new_pack.am3ytG/_old  2023-03-02 23:03:23.091426586 +0100
+++ /var/tmp/diff_new_pack.am3ytG/_new  2023-03-02 23:03:23.095426643 +0100
@@ -33,7 +33,7 @@
 %endif
 %define major 1
 Name:           PackageKit%{?pkg_suffix}
-Version:        1.0.2
+Version:        1.1.0
 Release:        0
 Summary:        Simple software installation management software
 License:        LGPL-2.1-or-later
@@ -42,8 +42,6 @@
 Source:         
https://github.com/hughsie/PackageKit-Qt/archive/v%{version}.tar.gz#/PackageKit-Qt-%{version}.tar.gz
 # PATCH-FIX-UPSTREAM boo#1103678
 Patch0:         
0001-Fix-PackageKit-not-emitting-network-state-changed-signal.patch
-# PATCH-FIX-UPSTREAM -- Qt6 support
-Patch1:         0001-Add-build-system-support-for-Qt6.patch
 BuildRequires:  PackageKit-devel >= %{version}
 BuildRequires:  cmake
 BuildRequires:  pkgconfig
@@ -116,8 +114,7 @@
 %qt6_install
 %endif
 
-%post -n lib%{pkqt}-%{major} -p /sbin/ldconfig
-%postun -n lib%{pkqt}-%{major} -p /sbin/ldconfig
+%ldconfig_scriptlets -n lib%{pkqt}-%{major}
 
 %files -n lib%{pkqt}-%{major}
 %license COPYING

++++++ PackageKit-Qt-1.0.2.tar.gz -> PackageKit-Qt-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/.github/workflows/main.yml 
new/PackageKit-Qt-1.1.0/.github/workflows/main.yml
--- old/PackageKit-Qt-1.0.2/.github/workflows/main.yml  1970-01-01 
01:00:00.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/.github/workflows/main.yml  2022-12-01 
20:10:34.000000000 +0100
@@ -0,0 +1,22 @@
+name: Build and Test
+
+on: [push, pull_request]
+
+jobs:
+  build_and_test:
+    runs-on: ubuntu-latest
+
+    strategy:
+      matrix:
+        distro:
+          - fedora
+          - debian
+      fail-fast: false
+
+    steps:
+      - uses: actions/checkout@v2
+      - run: docker build -t packagekitqt-${{ matrix.distro }} -f 
tests/ci/Dockerfile-${{ matrix.distro }} .
+      - run: docker run -t -v `pwd`:/build packagekitqt-${{ matrix.distro }} 
./tests/ci/build_and_test.sh
+        if: ${{ matrix.distro == 'fedora' }}
+      - run: docker run -t -v `pwd`:/build packagekitqt-${{ matrix.distro }} 
./tests/ci/build_and_test.sh
+        if: ${{ matrix.distro == 'debian' }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/CMakeLists.txt 
new/PackageKit-Qt-1.1.0/CMakeLists.txt
--- old/PackageKit-Qt-1.0.2/CMakeLists.txt      2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/CMakeLists.txt      2022-12-01 20:10:34.000000000 
+0100
@@ -8,7 +8,7 @@
   cmake_policy(SET CMP0063 NEW)
 endif()
 
-project(packagekit-qt VERSION 1.0.2)
+project(packagekit-qt VERSION 1.0.3)
 
 # Used to set installation paths
 set(CMAKE_AUTOMOC ON)
@@ -19,6 +19,8 @@
 
 set(QPACKAGEKIT_API_LEVEL "1")
 
+find_package(QT NAMES Qt6 Qt5 NO_MODULE REQUIRED COMPONENTS Core DBus)
+
 add_definitions(
     -DQT_NO_KEYWORDS
     -DQT_NO_CAST_TO_ASCII
@@ -53,7 +55,7 @@
 set (GETTEXT_PACKAGE "packagekit")
 set (VERSION "${QPACKAGEKIT_VERSION}")
 set (LOCALSTATEDIR "/var")
-set (CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/packagekitqt5/")
+set (CMAKECONFIG_INSTALL_DIR 
"${CMAKE_INSTALL_LIBDIR}/cmake/packagekitqt${QT_VERSION_MAJOR}/")
 
 add_definitions("-DLOCALSTATEDIR=\"${LOCALSTATEDIR}\"")
 set (CMAKE_CXX_STANDARD 11)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/NEWS new/PackageKit-Qt-1.1.0/NEWS
--- old/PackageKit-Qt-1.0.2/NEWS        2020-02-20 23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/NEWS        2022-12-01 20:10:34.000000000 +0100
@@ -1,3 +1,22 @@
+Version 1.1.0
+~~~~~~~~~~~~~
+Released: 2022-12-01
+
+Notes:
+ - Make PackageKit-Qt depend on Qt 5.10 (Aleix Pol)
+
+Features:
+ - Add build system support for Qt6 (Nicolas Fella)
+ - Add support for plural signals (Aleix Pol)
+ - Add initial GitHub Actions CI (Neal Gompa)
+
+Bugfixes:
+ - Prefer invoking methods by pointer rather than by name (Aleix Pol)
+ - Emit error if transaction is already done before watcher setup (#28) (Aleix 
Pol)
+ - offline: Address issues with dbus connections (Aleix Pol)
+ - Add the missing pkgconfig file for Qt 6 builds (Christophe Giboudeaux)
+ - Replace 404 Link by working one in README (Max Buchholz)
+
 Version 1.0.2
 ~~~~~~~~~~~~~
 Released: 2020-02-20
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/README.md 
new/PackageKit-Qt-1.1.0/README.md
--- old/PackageKit-Qt-1.0.2/README.md   2020-02-20 23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/README.md   2022-12-01 20:10:34.000000000 +0100
@@ -5,4 +5,4 @@
 PackageKit is a DBUS abstraction layer that allows the session user to manage
 packages in a secure way using a cross-distro, cross-architecture API.
 
-For more information, please see http://www.packagekit.org
+For more information, please see 
https://www.freedesktop.org/software/PackageKit/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/RELEASE 
new/PackageKit-Qt-1.1.0/RELEASE
--- old/PackageKit-Qt-1.0.2/RELEASE     2020-02-20 23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/RELEASE     2022-12-01 20:10:34.000000000 +0100
@@ -2,10 +2,10 @@
 
 1. Write NEWS entries for PackageKit-Qt in the same format as usual.
 
-git shortlog v1.0.1.. | grep -i -v trivial | grep -v Merge > NEWS.new
+git shortlog v1.0.2.. | grep -i -v trivial | grep -v Merge > NEWS.new
 
 
--------------------------------------------------------------------------------
-Version 1.0.2
+Version 1.0.3
 ~~~~~~~~~~~~~
 Released: 2020-xx-xx
 
@@ -20,13 +20,13 @@
 
 3. Commit changes in PackageKit-Qt git:
 
-git commit -a -m "Release version 1.0.2"
-git tag -s -f -m "Release 1.0.2" v1.0.2
+git commit -a -m "Release version 1.0.3"
+git tag -s -f -m "Release 1.0.3" v1.0.3
 <gpg password>
 git push --tags
 git push
 
-4. run './release.sh --version=1.0.2 --git-tag=v1.0.2 --sign'
+4. run './release.sh --version=1.0.3 --git-tag=v1.0.3 --sign'
 
 5. Upload tarball to:
 
@@ -42,7 +42,7 @@
 8. Send an email to package...@lists.freedesktop.org
 
 =================================================
-PackageKit-Qt 1.0.2 released!
+PackageKit-Qt 1.0.3 released!
 
 Tarballs available here: http://www.packagekit.org/releases/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/CMakeLists.txt 
new/PackageKit-Qt-1.1.0/src/CMakeLists.txt
--- old/PackageKit-Qt-1.0.2/src/CMakeLists.txt  2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/src/CMakeLists.txt  2022-12-01 20:10:34.000000000 
+0100
@@ -1,6 +1,6 @@
 # CMakeLists for PackageKit-Qt library
 
-find_package(Qt5 5.6 REQUIRED COMPONENTS Core DBus)
+find_package(Qt${QT_VERSION_MAJOR} 5.10 REQUIRED COMPONENTS Core DBus)
 
 set(packagekitqt_HEADERS
     Daemon
@@ -40,25 +40,30 @@
 set_source_files_properties(${PK_INTERFACE_XML} PROPERTIES NO_NAMESPACE true)
 set_source_files_properties(${PK_TRANSACTION_INTERFACE_XML} PROPERTIES 
NO_NAMESPACE true)
 
+if(${QT_VERSION_MAJOR} EQUAL 6)
+qt6_add_dbus_interface(packagekitqt_SRC ${PK_INTERFACE_XML} daemonproxy)
+qt6_add_dbus_interface(packagekitqt_SRC ${PK_TRANSACTION_INTERFACE_XML} 
transactionproxy)
+else()
 qt5_add_dbus_interface(packagekitqt_SRC ${PK_INTERFACE_XML} daemonproxy)
 qt5_add_dbus_interface(packagekitqt_SRC ${PK_TRANSACTION_INTERFACE_XML} 
transactionproxy)
+endif()
 
-add_library(packagekitqt5 ${packagekitqt_SRC} ${packagekitqt_HEADERS} 
${packagekitqt_HEADERS_PRIVATE})
-set_target_properties(packagekitqt5 PROPERTIES VERSION ${PROJECT_VERSION} 
SOVERSION ${QPACKAGEKIT_API_LEVEL})
+add_library(packagekitqt${QT_VERSION_MAJOR} ${packagekitqt_SRC} 
${packagekitqt_HEADERS} ${packagekitqt_HEADERS_PRIVATE})
+set_target_properties(packagekitqt${QT_VERSION_MAJOR} PROPERTIES VERSION 
${PROJECT_VERSION} SOVERSION ${QPACKAGEKIT_API_LEVEL})
 
-target_link_libraries(packagekitqt5 PUBLIC Qt5::DBus)
+target_link_libraries(packagekitqt${QT_VERSION_MAJOR} PUBLIC 
Qt${QT_VERSION_MAJOR}::DBus)
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/packagekitqt5.pc.in
-  ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt5.pc
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/packagekitqt${QT_VERSION_MAJOR}.pc.in
+  ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt${QT_VERSION_MAJOR}.pc
   @ONLY
 )
-target_include_directories(packagekitqt5 INTERFACE 
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/packagekitqt5/PackageKit/;${CMAKE_INSTALL_INCLUDEDIR}/packagekitqt5>")
-install(TARGETS packagekitqt5 EXPORT PackageKitQtTargets DESTINATION 
${CMAKE_INSTALL_LIBDIR})
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt5.pc
+target_include_directories(packagekitqt${QT_VERSION_MAJOR} INTERFACE 
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/packagekitqt${QT_VERSION_MAJOR}/PackageKit/;${CMAKE_INSTALL_INCLUDEDIR}/packagekitqt${QT_VERSION_MAJOR}>")
+install(TARGETS packagekitqt${QT_VERSION_MAJOR} EXPORT PackageKitQtTargets 
DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt${QT_VERSION_MAJOR}.pc
        DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
 )
 install(FILES ${packagekitqt_HEADERS}
-        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/packagekitqt5/PackageKit/
+        DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/packagekitqt${QT_VERSION_MAJOR}/PackageKit/
 )
 
 add_subdirectory(modules)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/daemon.cpp 
new/PackageKit-Qt-1.1.0/src/daemon.cpp
--- old/PackageKit-Qt-1.0.2/src/daemon.cpp      2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/src/daemon.cpp      2022-12-01 20:10:34.000000000 
+0100
@@ -29,6 +29,69 @@
 Q_LOGGING_CATEGORY(PACKAGEKITQT_DAEMON, "packagekitqt.daemon")
 Q_LOGGING_CATEGORY(PACKAGEKITQT_OFFLINE, "packagekitqt.offline")
 
+Q_DECLARE_METATYPE(PackageKit::PkPackage);
+Q_DECLARE_METATYPE(QList<PackageKit::PkPackage>);
+Q_DECLARE_METATYPE(PackageKit::PkDetail);
+Q_DECLARE_METATYPE(QList<PackageKit::PkDetail>);
+
+const QDBusArgument &operator<<(QDBusArgument &argument, const 
PackageKit::PkPackage &pkg)
+{
+    argument.beginStructure();
+    argument << pkg.info;
+    argument << pkg.pid;
+    argument << pkg.summary;
+    argument.endStructure();
+    return argument;
+}
+
+const QDBusArgument &operator>>(const QDBusArgument &argument, 
PackageKit::PkPackage &pkg)
+{
+    argument.beginStructure();
+    argument >> pkg.info;
+    argument >> pkg.pid;
+    argument >> pkg.summary;
+    argument.endStructure();
+    return argument;
+}
+
+const QDBusArgument &operator>>(const QDBusArgument &argument, 
PackageKit::PkDetail &detail)
+{
+    argument.beginStructure();
+    argument >> detail.package_id;
+    argument >> detail.updates;
+    argument >> detail.obsoletes;
+    argument >> detail.vendor_urls;
+    argument >> detail.bugzilla_urls;
+    argument >> detail.cve_urls;
+    argument >> detail.restart;
+    argument >> detail.update_text;
+    argument >> detail.changelog;
+    argument >> detail.state;
+    argument >> detail.issued;
+    argument >> detail.updated;
+    argument.endStructure();
+    return argument;
+}
+
+const QDBusArgument &operator<<(QDBusArgument &argument, const 
PackageKit::PkDetail &detail)
+{
+    argument.beginStructure();
+    argument << detail.package_id;
+    argument << detail.updates;
+    argument << detail.obsoletes;
+    argument << detail.vendor_urls;
+    argument << detail.bugzilla_urls;
+    argument << detail.cve_urls;
+    argument << detail.restart;
+    argument << detail.update_text;
+    argument << detail.changelog;
+    argument << detail.state;
+    argument << detail.issued;
+    argument << detail.updated;
+    argument.endStructure();
+    return argument;
+}
+
 using namespace PackageKit;
 
 Daemon* Daemon::m_global = nullptr;
@@ -58,6 +121,11 @@
                                          QLatin1String("PropertiesChanged"),
                                          this,
                                          
SLOT(propertiesChanged(QString,QVariantMap,QStringList)));
+
+    qDBusRegisterMetaType<PackageKit::PkPackage>();
+    qDBusRegisterMetaType<QList<PackageKit::PkPackage>>();
+    qDBusRegisterMetaType<PackageKit::PkDetail>();
+    qDBusRegisterMetaType<QList<PackageKit::PkDetail>>();
 }
 
 void DaemonPrivate::setupSignal(const QMetaMethod &signal)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/daemonprivate.cpp 
new/PackageKit-Qt-1.1.0/src/daemonprivate.cpp
--- old/PackageKit-Qt-1.0.2/src/daemonprivate.cpp       2020-02-20 
23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/src/daemonprivate.cpp       2022-12-01 
20:10:34.000000000 +0100
@@ -92,7 +92,7 @@
     message << PK_OFFLINE_INTERFACE;
     QDBusConnection::systemBus().callWithCallback(message,
                                                   offline,
-                                                  
SLOT(updateProperties(QVariantMap)));
+                                                  
SLOT(initializeProperties(QVariantMap)));
 }
 
 void DaemonPrivate::propertiesChanged(const QString &interface, const 
QVariantMap &properties, const QStringList &invalidatedProperties)
@@ -102,7 +102,7 @@
     if (interface == PK_NAME) {
         updateProperties(properties);
     } else if (interface == PK_OFFLINE_INTERFACE) {
-        offline->d_ptr->updateProperties(properties);
+        offline->d_ptr->updateProperties(interface, properties, 
invalidatedProperties);
     } else {
         qCWarning(PACKAGEKITQT_DAEMON) << "Unknown PackageKit interface:" << 
interface;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/modules/CMakeLists.txt 
new/PackageKit-Qt-1.1.0/src/modules/CMakeLists.txt
--- old/PackageKit-Qt-1.0.2/src/modules/CMakeLists.txt  2020-02-20 
23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/src/modules/CMakeLists.txt  2022-12-01 
20:10:34.000000000 +0100
@@ -2,13 +2,13 @@
 
 configure_package_config_file(
   ${CMAKE_CURRENT_SOURCE_DIR}/packagekit-qt-config.cmake.in
-  ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt5-config.cmake
-  INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/packagekitqt5/
+  ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt${QT_VERSION_MAJOR}-config.cmake
+  INSTALL_DESTINATION 
${CMAKE_INSTALL_LIBDIR}/cmake/packagekitqt${QT_VERSION_MAJOR}/
 )
 
-write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/packagekitqt5-config-version.cmake
 VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
+write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/packagekitqt${QT_VERSION_MAJOR}-config-version.cmake
 VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
 
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt5-config.cmake
-        ${CMAKE_CURRENT_BINARY_DIR}/packagekitqt5-config-version.cmake
-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/packagekitqt5/
+install(FILES 
${CMAKE_CURRENT_BINARY_DIR}/packagekitqt${QT_VERSION_MAJOR}-config.cmake
+        
${CMAKE_CURRENT_BINARY_DIR}/packagekitqt${QT_VERSION_MAJOR}-config-version.cmake
+        DESTINATION 
${CMAKE_INSTALL_LIBDIR}/cmake/packagekitqt${QT_VERSION_MAJOR}/
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PackageKit-Qt-1.0.2/src/modules/packagekit-qt-config.cmake.in 
new/PackageKit-Qt-1.1.0/src/modules/packagekit-qt-config.cmake.in
--- old/PackageKit-Qt-1.0.2/src/modules/packagekit-qt-config.cmake.in   
2020-02-20 23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/src/modules/packagekit-qt-config.cmake.in   
2022-12-01 20:10:34.000000000 +0100
@@ -1,7 +1,7 @@
 @PACKAGE_INIT@
 
-check_required_components(Qt5DBus)
+check_required_components(Qt@QT_VERSION_MAJOR@DBus)
 
-SET(PackageKitQt5_LIBRARIES "PK::packagekitqt5")
+SET(PackageKitQt@QT_VERSION_MAJOR@_LIBRARIES 
"PK::packagekitqt@QT_VERSION_MAJOR@")
 
 include("${CMAKE_CURRENT_LIST_DIR}/PackageKitQtTargets.cmake")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/offline.cpp 
new/PackageKit-Qt-1.1.0/src/offline.cpp
--- old/PackageKit-Qt-1.0.2/src/offline.cpp     2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/src/offline.cpp     2022-12-01 20:10:34.000000000 
+0100
@@ -31,7 +31,7 @@
                                          DBUS_PROPERTIES,
                                          QLatin1String("PropertiesChanged"),
                                          this,
-                                         
SLOT(propertiesChanged(QString,QVariantMap,QStringList)));
+                                         
SLOT(updateProperties(QString,QVariantMap,QStringList)));
 }
 
 Offline::~Offline()
@@ -145,7 +145,7 @@
     });
 }
 
-void OfflinePrivate::updateProperties(const QVariantMap &properties)
+void OfflinePrivate::initializeProperties(const QVariantMap &properties)
 {
     Q_Q(Offline);
 
@@ -184,4 +184,18 @@
     }
 }
 
+void OfflinePrivate::updateProperties(const QString &interface, const 
QVariantMap &properties, const QStringList &invalidate)
+{
+    if(interface != PK_OFFLINE_INTERFACE) {
+        qCWarning(PACKAGEKITQT_OFFLINE) << "Cannot process" << interface << 
"as" << PK_OFFLINE_INTERFACE;
+        return;
+    }
+
+    if (!invalidate.isEmpty()) {
+        qCWarning(PACKAGEKITQT_OFFLINE) << "Properties could not be 
invalidated" << interface << invalidate;
+    }
+
+    initializeProperties(properties);
+}
+
 #include "moc_offline.cpp"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/offline.h 
new/PackageKit-Qt-1.1.0/src/offline.h
--- old/PackageKit-Qt-1.0.2/src/offline.h       2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/src/offline.h       2022-12-01 20:10:34.000000000 
+0100
@@ -132,7 +132,8 @@
     explicit Offline(QObject *parent = nullptr);
 
 private:
-    Q_PRIVATE_SLOT(d_func(), void updateProperties(QVariantMap))
+    Q_PRIVATE_SLOT(d_func(), void initializeProperties(QVariantMap))
+    Q_PRIVATE_SLOT(d_func(), void updateProperties(QString, QVariantMap, 
QStringList))
 
     OfflinePrivate *d_ptr;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/offline_p.h 
new/PackageKit-Qt-1.1.0/src/offline_p.h
--- old/PackageKit-Qt-1.0.2/src/offline_p.h     2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/src/offline_p.h     2022-12-01 20:10:34.000000000 
+0100
@@ -33,7 +33,8 @@
     {
     }
 
-    void updateProperties(const QVariantMap &properties);
+    void initializeProperties(const QVariantMap &properties);
+    void updateProperties(const QString &interface, const QVariantMap 
&properties, const QStringList &invalidate);
 
     Offline *q_ptr;
     OrgFreedesktopPackageKitOfflineInterface iface;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/packagekitqt6.pc.in 
new/PackageKit-Qt-1.1.0/src/packagekitqt6.pc.in
--- old/PackageKit-Qt-1.0.2/src/packagekitqt6.pc.in     1970-01-01 
01:00:00.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/src/packagekitqt6.pc.in     2022-12-01 
20:10:34.000000000 +0100
@@ -0,0 +1,11 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+Name: @LIBNAME@
+Description: PackageKit is a package management abstraction layer.
+Version: @PROJECT_VERSION@
+Requires: Qt6Core, Qt6DBus
+Libs: -L${libdir} -lpackagekitqt6
+Cflags: -I${includedir}/packagekitqt6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/transaction.cpp 
new/PackageKit-Qt-1.1.0/src/transaction.cpp
--- old/PackageKit-Qt-1.0.2/src/transaction.cpp 2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/src/transaction.cpp 2022-12-01 20:10:34.000000000 
+0100
@@ -119,6 +119,10 @@
     } else if (signal == QMetaMethod::fromSignal(&Transaction::package)) {
         signalToConnect = SIGNAL(Package(uint,QString,QString));
         memberToConnect = SLOT(Package(uint,QString,QString));
+
+        if (!p->connection().connect(p->service(), p->path(), p->interface(), 
QStringLiteral("Packages"), q, SLOT(Packages(QList<PackageKit::PkPackage>)))) {
+            qWarning() << "Failed to connect Packages";
+        }
     } else if (signal == QMetaMethod::fromSignal(&Transaction::repoDetail)) {
         signalToConnect = SIGNAL(RepoDetail(QString,QString,bool));
         memberToConnect = SIGNAL(repoDetail(QString,QString,bool));
@@ -143,10 +147,15 @@
     } else if (signal == QMetaMethod::fromSignal(&Transaction::updateDetail)) {
         signalToConnect = 
SIGNAL(UpdateDetail(QString,QStringList,QStringList,QStringList,QStringList,QStringList,uint,QString,QString,uint,QString,QString));
         memberToConnect = 
SLOT(UpdateDetail(QString,QStringList,QStringList,QStringList,QStringList,QStringList,uint,QString,QString,uint,QString,QString));
+
+        if (!p->connection().connect(p->service(), p->path(), p->interface(), 
QStringLiteral("UpdateDetails"), q, 
SLOT(UpdateDetails(QList<PackageKit::PkDetail>)))) {
+            qWarning() << "Failed to connect UpdateDetails";
+        }
     }
 
     if (signalToConnect && memberToConnect) {
-        QObject::connect(p, signalToConnect, q, memberToConnect);
+        bool b = QObject::connect(p, signalToConnect, q, memberToConnect);
+        Q_ASSERT(b);
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/transaction.h 
new/PackageKit-Qt-1.1.0/src/transaction.h
--- old/PackageKit-Qt-1.0.2/src/transaction.h   2020-02-20 23:52:54.000000000 
+0100
+++ new/PackageKit-Qt-1.1.0/src/transaction.h   2022-12-01 20:10:34.000000000 
+0100
@@ -34,6 +34,8 @@
 namespace PackageKit {
 
 class Details;
+struct PkPackage;
+struct PkDetail;
 
 /**
 * \class Transaction transaction.h Transaction
@@ -855,11 +857,13 @@
     Q_PRIVATE_SLOT(d_func(), void mediaChangeRequired(uint mediaType, const 
QString &mediaId, const QString &mediaText))
     Q_PRIVATE_SLOT(d_func(), void finished(uint exitCode, uint runtime))
     Q_PRIVATE_SLOT(d_func(), void Package(uint info, const QString &pid, const 
QString &summary))
+    Q_PRIVATE_SLOT(d_func(), void Packages(QList<PackageKit::PkPackage>))
     Q_PRIVATE_SLOT(d_func(), void ItemProgress(const QString &itemID, uint 
status, uint percentage))
     Q_PRIVATE_SLOT(d_func(), void RepoSignatureRequired(const QString &pid, 
const QString &repoName, const QString &keyUrl, const QString &keyUserid, const 
QString &keyId, const QString &keyFingerprint, const QString &keyTimestamp, 
uint type))
     Q_PRIVATE_SLOT(d_func(), void requireRestart(uint type, const QString 
&pid))
     Q_PRIVATE_SLOT(d_func(), void transaction(const QDBusObjectPath &oldTid, 
const QString &timespec, bool succeeded, uint role, uint duration, const 
QString &data, uint uid, const QString &cmdline))
     Q_PRIVATE_SLOT(d_func(), void UpdateDetail(const QString &package_id, 
const QStringList &updates, const QStringList &obsoletes, const QStringList 
&vendor_urls, const QStringList &bugzilla_urls, const QStringList &cve_urls, 
uint restart, const QString &update_text, const QString &changelog, uint state, 
const QString &issued, const QString &updated))
+    Q_PRIVATE_SLOT(d_func(), void UpdateDetails(const 
QList<PackageKit::PkDetail> &dets))
     Q_PRIVATE_SLOT(d_func(), void destroy())
     Q_PRIVATE_SLOT(d_func(), void daemonQuit())
     Q_PRIVATE_SLOT(d_func(), void 
propertiesChanged(QString,QVariantMap,QStringList))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/transactionprivate.cpp 
new/PackageKit-Qt-1.1.0/src/transactionprivate.cpp
--- old/PackageKit-Qt-1.0.2/src/transactionprivate.cpp  2020-02-20 
23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/src/transactionprivate.cpp  2022-12-01 
20:10:34.000000000 +0100
@@ -49,9 +49,9 @@
                                                          tid.path(),
                                                          
QDBusConnection::systemBus(),
                                                          q);
-    if (!Daemon::global()->hints().isEmpty()) {
-        q->setHints(Daemon::global()->hints());
-    }
+    QStringList hints = Daemon::global()->hints();
+    hints << QStringLiteral("supports-plural-signals=true");
+    q->setHints(hints);
 
     q->connect(p, SIGNAL(Destroy()), SLOT(destroy()));
 
@@ -188,6 +188,11 @@
         break;
     }
 
+    if (reply.isFinished() && reply.isError()) {
+        q->errorCode(Transaction::ErrorInternalError, reply.error().message());
+        finished(Transaction::ExitFailed, 0);
+        return;
+    }
     auto watcher = new QDBusPendingCallWatcher(reply, q);
     q->connect(watcher, &QDBusPendingCallWatcher::finished,
                q, [this, q] (QDBusPendingCallWatcher *call) {
@@ -286,40 +291,40 @@
         const QVariant &value = it.value();
         if (property == QLatin1String("AllowCancel")) {
             allowCancel = value.toBool();
-            QMetaObject::invokeMethod(q, "allowCancelChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::allowCancelChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("CallerActive")) {
             callerActive = value.toBool();
-            QMetaObject::invokeMethod(q, "isCallerActiveChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::isCallerActiveChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("DownloadSizeRemaining")) {
             downloadSizeRemaining = value.toLongLong();
-            QMetaObject::invokeMethod(q, "downloadSizeRemainingChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, 
&Transaction::downloadSizeRemainingChanged, Qt::QueuedConnection);
         } else if (property == QLatin1String("ElapsedTime")) {
             elapsedTime = value.toUInt();
-            QMetaObject::invokeMethod(q, "elapsedTimeChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::elapsedTimeChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("LastPackage")) {
             lastPackage = value.toString();
-            QMetaObject::invokeMethod(q, "lastPackageChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::lastPackageChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("Percentage")) {
             percentage = value.toUInt();
-            QMetaObject::invokeMethod(q, "percentageChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::percentageChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("RemainingTime")) {
             remainingTime = value.toUInt();
             q->remainingTimeChanged();
         } else if (property == QLatin1String("Role")) {
             role = static_cast<Transaction::Role>(value.toUInt());
-            QMetaObject::invokeMethod(q, "roleChanged", Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::roleChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("Speed")) {
             speed = value.toUInt();
-            QMetaObject::invokeMethod(q, "speedChanged", Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::speedChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("Status")) {
             status = static_cast<Transaction::Status>(value.toUInt());
-            QMetaObject::invokeMethod(q, "statusChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::statusChanged, 
Qt::QueuedConnection);
         } else if (property == QLatin1String("TransactionFlags")) {
             transactionFlags = 
static_cast<Transaction::TransactionFlags>(value.toUInt());
-            QMetaObject::invokeMethod(q, "transactionFlagsChanged", 
Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, 
&Transaction::transactionFlagsChanged, Qt::QueuedConnection);
         } else if (property == QLatin1String("Uid")) {
             uid = value.toUInt();
-            QMetaObject::invokeMethod(q, "uidChanged", Qt::QueuedConnection);
+            QMetaObject::invokeMethod(q, &Transaction::uidChanged, 
Qt::QueuedConnection);
         } else {
             qCWarning(PACKAGEKITQT_TRANSACTION) << "Unknown Transaction 
property:" << property << value;
         }
@@ -336,6 +341,14 @@
                summary);
 }
 
+void TransactionPrivate::Packages(const QList<PackageKit::PkPackage> &pkgs)
+{
+    Q_Q(Transaction);
+    for (PkPackage const &pkg : pkgs) {
+        q->package(static_cast<Transaction::Info>(pkg.info), pkg.pid, 
pkg.summary);
+    }
+}
+
 void TransactionPrivate::ItemProgress(const QString &itemID, uint status, uint 
percentage)
 {
     Q_Q(Transaction);
@@ -424,3 +437,22 @@
                     QDateTime::fromString(issued, Qt::ISODate),
                     QDateTime::fromString(updated, Qt::ISODate));
 }
+
+void TransactionPrivate::UpdateDetails(const QList<PkDetail> &details)
+{
+    Q_Q(Transaction);
+    for (const PkDetail &detail : details) {
+        q->updateDetail(detail.package_id,
+                        detail.updates,
+                        detail.obsoletes,
+                        detail.vendor_urls,
+                        detail.bugzilla_urls,
+                        detail.cve_urls,
+                        
static_cast<PackageKit::Transaction::Restart>(detail.restart),
+                        detail.update_text,
+                        detail.changelog,
+                        
static_cast<PackageKit::Transaction::UpdateState>(detail.state),
+                        QDateTime::fromString(detail.issued, Qt::ISODate),
+                        QDateTime::fromString(detail.updated, Qt::ISODate));
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/src/transactionprivate.h 
new/PackageKit-Qt-1.1.0/src/transactionprivate.h
--- old/PackageKit-Qt-1.0.2/src/transactionprivate.h    2020-02-20 
23:52:54.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/src/transactionprivate.h    2022-12-01 
20:10:34.000000000 +0100
@@ -32,6 +32,27 @@
 
 namespace PackageKit {
 
+struct PkPackage {
+    uint info;
+    QString pid;
+    QString summary;
+};
+
+struct PkDetail {
+    QString package_id;
+    QStringList updates;
+    QStringList obsoletes;
+    QStringList vendor_urls;
+    QStringList bugzilla_urls;
+    QStringList cve_urls;
+    uint restart;
+    QString update_text;
+    QString changelog;
+    uint state;
+    QString issued;
+    QString updated;
+};
+
 class TransactionPrivate
 {
     Q_DECLARE_PUBLIC(Transaction)
@@ -103,6 +124,7 @@
     void mediaChangeRequired(uint mediaType, const QString &mediaId, const 
QString &mediaText);
     void finished(uint exitCode, uint runtime);
     void Package(uint info, const QString &pid, const QString &summary);
+    void Packages(const QList<PackageKit::PkPackage> &packages);
     void ItemProgress(const QString &itemID, uint status, uint percentage);
     void RepoSignatureRequired(const QString &pid,
                                const QString &repoName,
@@ -115,6 +137,7 @@
     void requireRestart(uint type, const QString &pid);
     void transaction(const QDBusObjectPath &oldTid, const QString &timespec, 
bool succeeded, uint role, uint duration, const QString &data, uint uid, const 
QString &cmdline);
     void UpdateDetail(const QString &package_id, const QStringList &updates, 
const QStringList &obsoletes, const QStringList &vendor_urls, const QStringList 
&bugzilla_urls, const QStringList &cve_urls, uint restart, const QString 
&update_text, const QString &changelog, uint state, const QString &issued, 
const QString &updated);
+    void UpdateDetails(const QList<PackageKit::PkDetail> &details);
     void destroy();
     void daemonQuit();
     void propertiesChanged(const QString &interface, const QVariantMap 
&properties, const QStringList &invalidatedProperties);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/tests/ci/Dockerfile-debian 
new/PackageKit-Qt-1.1.0/tests/ci/Dockerfile-debian
--- old/PackageKit-Qt-1.0.2/tests/ci/Dockerfile-debian  1970-01-01 
01:00:00.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/tests/ci/Dockerfile-debian  2022-12-01 
20:10:34.000000000 +0100
@@ -0,0 +1,18 @@
+FROM debian:bullseye
+
+# allow fetching source packages
+RUN echo "deb-src http://deb.debian.org/debian/ bullseye main" >> 
/etc/apt/sources.list
+
+# prepare
+RUN apt-get update -qq
+
+# install build essentials
+RUN apt-get install -yq build-essential
+
+# install PackageKit-Qt dependencies
+RUN apt-get build-dep -yq packagekit-qt
+RUN apt-get install -yq cmake ninja-build
+
+# finish
+RUN mkdir /build
+WORKDIR /build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/tests/ci/Dockerfile-fedora 
new/PackageKit-Qt-1.1.0/tests/ci/Dockerfile-fedora
--- old/PackageKit-Qt-1.0.2/tests/ci/Dockerfile-fedora  1970-01-01 
01:00:00.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/tests/ci/Dockerfile-fedora  2022-12-01 
20:10:34.000000000 +0100
@@ -0,0 +1,8 @@
+FROM fedora:31
+
+RUN dnf -y update
+RUN dnf -y install dnf-plugins-core libdnf-devel redhat-rpm-config cmake 
gcc-c++ ninja-build
+RUN dnf -y builddep PackageKit-Qt
+
+RUN mkdir /build
+WORKDIR /build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PackageKit-Qt-1.0.2/tests/ci/build_and_test.sh 
new/PackageKit-Qt-1.1.0/tests/ci/build_and_test.sh
--- old/PackageKit-Qt-1.0.2/tests/ci/build_and_test.sh  1970-01-01 
01:00:00.000000000 +0100
+++ new/PackageKit-Qt-1.1.0/tests/ci/build_and_test.sh  2022-12-01 
20:10:34.000000000 +0100
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+
+if [ -d "build" ]; then
+  rm build -rf
+fi
+cmake -S . -B build -GNinja -DMAINTAINER=1 $@
+
+# Build, Test & Install
+cmake --build build
+## No tests yet
+#cd build && ctest && cd -
+
+DESTDIR=/tmp/install_root/ cmake --install build

Reply via email to