Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package signon for openSUSE:Factory checked 
in at 2024-03-11 15:27:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/signon (Old)
 and      /work/SRC/openSUSE:Factory/.signon.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "signon"

Mon Mar 11 15:27:16 2024 rev:9 rq:1151235 version:8.61

Changes:
--------
--- /work/SRC/openSUSE:Factory/signon/signon.changes    2023-08-12 
15:05:53.218385314 +0200
+++ /work/SRC/openSUSE:Factory/.signon.new.1770/signon.changes  2024-03-11 
15:29:43.801128695 +0100
@@ -1,0 +2,8 @@
+Tue Dec  5 15:52:06 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Add patch for Qt6 support:
+  * 0001-Add-Qt6-support.patch
+- Drop 0001_Multilib.patch. This is now handled in the %prep section
+- Add flavors
+
+-------------------------------------------------------------------

Old:
----
  0001_Multilib.patch

New:
----
  0001-Add-Qt6-support.patch
  _multibuild

BETA DEBUG BEGIN:
  Old:  * 0001-Add-Qt6-support.patch
- Drop 0001_Multilib.patch. This is now handled in the %prep section
- Add flavors
BETA DEBUG END:

BETA DEBUG BEGIN:
  New:- Add patch for Qt6 support:
  * 0001-Add-Qt6-support.patch
- Drop 0001_Multilib.patch. This is now handled in the %prep section
BETA DEBUG END:

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

Other differences:
------------------
++++++ signon.spec ++++++
--- /var/tmp/diff_new_pack.P8vQrl/_old  2024-03-11 15:29:44.525155267 +0100
+++ /var/tmp/diff_new_pack.P8vQrl/_new  2024-03-11 15:29:44.529155413 +0100
@@ -16,30 +16,39 @@
 #
 
 
+%define flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "qt6"
+%define qt6 1
+%define pkg_suffix -qt6
+%define _suffix qt6
+%define _major_ver 6
+%else
+%define qt5 1
+%define _suffix qt5
+%define _major_ver 5
+%endif
 %define _soname 1
-%define _tarbasename signond
-%define _version VERSION_8.61
-Name:           signon
+%define rname signond
+%define rversion VERSION_8.61
+Name:           signon%{?pkg_suffix}
 Version:        8.61
 Release:        0
 Summary:        Single Sign On Framework
 License:        LGPL-2.0-only
-Group:          System/Libraries
 URL:            https://gitlab.com/accounts-sso/signond
-Source:         
https://gitlab.com/accounts-sso/%{_tarbasename}/-/archive/VERSION_%{version}/%{_tarbasename}-%{_version}.tar.bz2
-# PATCH-FIX-OPENSUSE
-Patch0:         0001_Multilib.patch
+Source:         
https://gitlab.com/accounts-sso/%{rname}/-/archive/VERSION_%{version}/%{rname}-%{rversion}.tar.bz2
+# PATCH-FIX-UPSTREAM -- 
https://gitlab.com/accounts-sso/signond/-/merge_requests/36/diffs
+Patch0:         0001-Add-Qt6-support.patch
 BuildRequires:  doxygen
-BuildRequires:  fdupes
 BuildRequires:  graphviz
 BuildRequires:  pkgconfig
-BuildRequires:  pkgconfig(Qt5Core)
-BuildRequires:  pkgconfig(Qt5DBus)
-BuildRequires:  pkgconfig(Qt5Gui)
-BuildRequires:  pkgconfig(Qt5Network)
-BuildRequires:  pkgconfig(Qt5Sql)
-BuildRequires:  pkgconfig(Qt5Test)
-BuildRequires:  pkgconfig(Qt5Xml)
+BuildRequires:  pkgconfig(Qt%{_major_ver}Core)
+BuildRequires:  pkgconfig(Qt%{_major_ver}DBus)
+BuildRequires:  pkgconfig(Qt%{_major_ver}Gui)
+BuildRequires:  pkgconfig(Qt%{_major_ver}Network)
+BuildRequires:  pkgconfig(Qt%{_major_ver}Sql)
+BuildRequires:  pkgconfig(Qt%{_major_ver}Test)
+BuildRequires:  pkgconfig(Qt%{_major_ver}Xml)
 BuildRequires:  pkgconfig(libproxy-1.0)
 BuildRequires:  pkgconfig(libssl)
 
@@ -47,95 +56,92 @@
 The SignOn daemon is a D-Bus service which performs user authentication on
 behalf of its clients.
 
-%package -n libsignon-qt5-%{_soname}
+# NOTE Read 
https://gitlab.com/accounts-sso/signon-plugin-oauth2/-/merge_requests/28#note_1689621252
+# Only lisignon-qtX must be flavored
+%package -n libsignon-qt%{_major_ver}-%{_soname}
 Summary:        Single Sign On Framework for Qt
-Group:          System/Libraries
 
-%description -n libsignon-qt5-%{_soname}
+%description -n libsignon-qt%{_major_ver}-%{_soname}
 Framework that provides credential storage and authentication service.
 
-%package -n libsignon-qt5-devel
+%package -n libsignon-qt%{_major_ver}-devel
 Summary:        Development files for libsignon-qt%{_soname}
-Group:          Development/Libraries/C and C++
-Requires:       libsignon-qt5-%{_soname} = %{version}
-Requires:       pkgconfig(Qt5Core)
+Requires:       libsignon-qt%{_major_ver}-%{_soname} = %{version}
+Requires:       pkgconfig(Qt%{_major_ver}Core)
 
-%description -n libsignon-qt5-devel
+%description -n libsignon-qt%{_major_ver}-devel
 This package contains the development files for the signon-qt library.
 
-%package -n libsignon-qt5-docs
-Summary:        Documentation for libsignon-qt%{_soname}
-Group:          Documentation/HTML
-BuildArch:      noarch
-
-%description -n libsignon-qt5-docs
-This package contains the documentation for the signon-qt library.
-
+%if 0%{?qt6}
 %package -n signond
 Summary:        Single Sign On Framework
-Group:          System/Libraries
+Requires:       signond-libs = %{version}
+Requires:       qt6-sql-sqlite
 
 %description -n signond
 Framework that provides credential storage and authentication service.
 
+# No need to build docs twice
+%package -n signond-docs
+Summary:        Single Sign On Framework - Documentation
+BuildArch:      noarch
+
+%description -n signond-docs
+This package contains the documentation for signond.
+
+%package -n libsignon-qt-docs
+Summary:        Documentation for the signon-qt library
+BuildArch:      noarch
+
+%description -n libsignon-qt-docs
+This package contains the documentation for the signon-qt library.
+
+%package -n signon-plugins-docs
+Summary:        Documentation for the Single Sign On Framework's plugins
+BuildArch:      noarch
+
+%description -n signon-plugins-docs
+This package contains the documentation for the Single Sign On Framework's
+plugins.
+
 %package -n signond-libs
 Summary:        Single Sign On Framework
-Group:          System/Libraries
 
 %description -n signond-libs
 Framework that provides credential storage and authentication service.
 
 %package -n signond-libs-devel
 Summary:        Development files for signond-libs
-Group:          Development/Libraries/C and C++
 Requires:       signond = %{version}
 Requires:       signond-libs = %{version}
-Requires:       pkgconfig(Qt5Core)
+Requires:       pkgconfig(Qt6Core)
 
 %description -n signond-libs-devel
 This package contains the development files for signond-libs.
 
-%package -n signond-docs
-Summary:        Single Sign On Framework - Documentation
-Group:          Documentation/HTML
-BuildArch:      noarch
-
-%description -n signond-docs
-This package contains the documentation for signond.
-
 %package -n signon-plugins
 Summary:        Plugins for the Single Sign On Framework
-Group:          System/Libraries
 Requires:       signond = %{version}
 
 %description -n signon-plugins
 This package contains the following plugins for the Single Sign On Framework:
-- Password plugin
-- Test plugin
+  * Password plugin
+  * Test plugin
 
 %package -n signon-plugins-devel
 Summary:        Development files for the Single Sign On Framework's plugins
-Group:          Development/Libraries/C and C++
-Requires:       libsignon-qt5-devel = %{version}
+Requires:       libsignon-qt6-devel = %{version}
 Requires:       signon-plugins = %{version}
 
 %description -n signon-plugins-devel
 This package contains the development files necessary for creating plugins for
 the Single Sign On Framework.
-
-%package -n signon-plugins-docs
-Summary:        Documentation for the Single Sign On Framework's plugins
-Group:          Documentation/HTML
-BuildArch:      noarch
-
-%description -n signon-plugins-docs
-This package contains the documentation for the Single Sign On Framework's
-plugins.
+%endif
 
 %prep
-%autosetup -p1 -n %{_tarbasename}-%{_version}
+%autosetup -p1 -n %{rname}-%{rversion}
 
-sed -i 's|@LIB@|%{_lib}|g' \
+sed -i 's|/usr/lib|%{_libdir}|g' \
   lib/plugins/signon-plugins.pc.in \
   lib/plugins/signon-plugins-common/signon-plugins-common.pc.in \
   src/signond/signondaemon.h \
@@ -151,50 +157,63 @@
 sed -i -e '/^example.path/ s|share/doc|share/doc/packages|g' \
   src/plugins/example/example.pro
 
-sed -i 's|qdbusxml2cpp|qdbusxml2cpp-qt5|g' \
-  src/signond/signond.pro
-
 %build
 %global _lto_cflags %{_lto_cflags} -ffat-lto-objects
+%if 0%{?qt6}
+%qmake6 \
+%else
 %qmake5 \
+%endif
   PREFIX=%{_prefix} \
   LIBDIR=%{_libdir}
 
 %make_jobs
 
 %install
+%if 0%{?qt6}
+%qmake6_install
+%else
 %qmake5_install
 
-# Remove tests
-find %{buildroot} -type f -name '*tests*' -delete
+# Only needed once
+rm %{buildroot}%{_bindir}/*
+rm %{buildroot}%{_libdir}/libsignon-{extension,plugins}*
+rm %{buildroot}%{_libdir}/pkgconfig/{SignOnExtension,signond,signon-plugins}*
+rm %{buildroot}%{_sysconfdir}/signond.conf
+rm -r %{buildroot}%{_datadir}/dbus-1
+rm -r %{buildroot}%{_docdir}
+rm -r %{buildroot}%{_includedir}/signon-{extension,plugins}
+rm -r %{buildroot}%{_includedir}/signond
+rm -r %{buildroot}%{_libdir}/signon
+
+%endif
 
-%fdupes -s %{buildroot}
+# Remove tests
+find %{buildroot} -type f -name '*tests*' -print -delete
 
-%ldconfig_scriptlets -n libsignon-qt5-%{_soname}
+%ldconfig_scriptlets -n libsignon-qt%{_major_ver}-%{_soname}
+%if 0%{?qt6}
 %ldconfig_scriptlets -n signond-libs
 %ldconfig_scriptlets -n signon-plugins
+%endif
 
-%files -n libsignon-qt5-%{_soname}
-%{_libdir}/libsignon-qt5.so.*
-
-%files -n libsignon-qt5-devel
-%dir %{_includedir}/signon-qt5/
-%dir %{_includedir}/signon-qt5/SignOn/
-%{_includedir}/signon-qt5/SignOn/*
-%{_libdir}/libsignon-qt5.so
-%{_libdir}/libsignon-qt5.a
-%{_libdir}/pkgconfig/libsignon-qt5.pc
-%{_libdir}/cmake/SignOnQt5/
+%files -n libsignon-qt%{_major_ver}-%{_soname}
+%license COPYING
+%{_libdir}/libsignon-qt%{_major_ver}.so.*
 
-%files -n libsignon-qt5-docs
-%doc %{_docdir}/libsignon-qt/
+%files -n libsignon-qt%{_major_ver}-devel
+%{_includedir}/signon-qt%{_major_ver}/
+%{_libdir}/libsignon-qt%{_major_ver}.so
+%{_libdir}/libsignon-qt%{_major_ver}.a
+%{_libdir}/pkgconfig/libsignon-qt%{_major_ver}.pc
+%{_libdir}/cmake/SignOnQt%{_major_ver}/
 
+%if 0%{?qt6}
 %files -n signond
-%license COPYING
 %doc README.md
+%config(noreplace) %{_sysconfdir}/signond.conf
 %{_bindir}/signond
 %{_bindir}/signonpluginprocess
-%config(noreplace) %{_sysconfdir}/signond.conf
 %{_datadir}/dbus-1/services/com.google.code.AccountsSSO.SingleSignOn.service
 %{_datadir}/dbus-1/services/com.nokia.SingleSignOn.Backup.service
 
@@ -203,19 +222,13 @@
 %{_libdir}/libsignon-plugins-common.so.*
 
 %files -n signond-libs-devel
-%dir %{_includedir}/signond/
-%{_includedir}/signond/*.h
-%dir %{_includedir}/signon-extension/
-%dir %{_includedir}/signon-extension/SignOn/
-%{_includedir}/signon-extension/SignOn/*
+%{_includedir}/signond/
+%{_includedir}/signon-extension/
 %{_libdir}/libsignon-extension.so
 %{_libdir}/libsignon-plugins-common.so
 %{_libdir}/pkgconfig/signond.pc
 %{_libdir}/pkgconfig/SignOnExtension.pc
 
-%files -n signond-docs
-%doc %{_docdir}/signon/
-
 %files -n signon-plugins
 %{_libdir}/libsignon-plugins.so.*
 %dir %{_libdir}/signon/
@@ -226,14 +239,18 @@
 
 %files -n signon-plugins-devel
 %doc %{_docdir}/signon-plugins-dev/
-%dir %{_includedir}/signon-plugins/
-%dir %{_includedir}/signon-plugins/SignOn/
-%{_includedir}/signon-plugins/SignOn/*.h
-%{_includedir}/signon-plugins/*
+%{_includedir}/signon-plugins/
 %{_libdir}/libsignon-plugins.so
 %{_libdir}/pkgconfig/signon-plugins-common.pc
 %{_libdir}/pkgconfig/signon-plugins.pc
 
+%files -n signond-docs
+%doc %{_docdir}/signon/
+
+%files -n libsignon-qt-docs
+%doc %{_docdir}/libsignon-qt/
+
 %files -n signon-plugins-docs
 %doc %{_docdir}/signon-plugins/
+%endif
 

++++++ 0001-Add-Qt6-support.patch ++++++
Subject: Add Qt6 support
Author: Nicolas Fella
Origin: https://gitlab.com/accounts-sso/signond/-/merge_requests/36/diffs

---
 .gitlab-ci.yml                                | 48 +++++++++++++++----
 common-project-config.pri                     |  4 +-
 lib/SignOn/SignOnQt5Config.cmake.in           |  2 +-
 lib/SignOn/SignOnQt6Config.cmake.in           |  7 +++
 lib/SignOn/SignOnQt6ConfigVersion.cmake.in    | 10 ++++
 lib/SignOn/libsignon-qt.pri                   |  2 +-
 lib/SignOn/libsignon-qt6.pc.in                | 11 +++++
 lib/plugins/SignOn/authpluginif.h             |  4 +-
 .../SignOn/blobiohandler.cpp                  |  3 +-
 .../signon-plugins-common.pc.in               |  2 +-
 lib/plugins/signon-plugins.pc.in              |  2 +-
 lib/signond/SignOn/SignOnExtension.pc.in      |  2 +-
 src/signond/pluginproxy.cpp                   |  9 ++--
 src/signond/signondaemonadaptor.cpp           |  7 +--
 src/signond/signondaemonadaptor.h             |  3 +-
 src/signond/signonidentity.cpp                |  3 +-
 src/signond/signonidentityinfo.cpp            |  5 ++
 src/signond/signonsessioncore.cpp             | 12 ++++-
 src/signond/signonsessioncoretools.cpp        |  6 +++
 .../libsignon-qt-tests/libsignon-qt-tests.pro |  2 +-
 tests/signond-tests/databasetest.cpp          | 24 +++++++---
 tests/signond-tests/identity-tool.pro         |  2 +-
 .../mock-ac-plugin/identity-ac-helper.pro     |  2 +-
 tests/signond-tests/signond-tests.pri         |  2 +-
 24 files changed, 132 insertions(+), 42 deletions(-)
 create mode 100644 lib/SignOn/SignOnQt6Config.cmake.in
 create mode 100644 lib/SignOn/SignOnQt6ConfigVersion.cmake.in
 create mode 100644 lib/SignOn/libsignon-qt6.pc.in

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 409f6e2..c784909 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,18 +1,14 @@
-image: ubuntu:bionic
-
 cache:
   key: apt-cache
   paths:
   - apt-cache/
 
-before_script:
-  - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
-  - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" 
install -y qt5-qmake qt5-default qtbase5-dev qtchooser pkg-config 
libqt5sql5-sqlite doxygen libdbus-1-dev
-  - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y 
dbus-test-runner libqtdbusmock1-dev libqtdbustest1-dev
-  - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y lcov gcovr
-
 build_amd64:
   stage: build
+  image: ubuntu:bionic
+  before_script:
+    - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
+    - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" 
install -y qt5-qmake qt5-default qtbase5-dev qtchooser pkg-config 
libqt5sql5-sqlite doxygen libdbus-1-dev
   script:
     - mkdir build
     - cd build
@@ -24,6 +20,10 @@ build_amd64:
 
 test_amd64:
   stage: test
+  image: ubuntu:bionic
+  before_script:
+    - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
+    - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" 
install -y dbus-test-runner libqtdbusmock1-dev libqtdbustest1-dev lcov gcovr 
make qt5-qmake qt5-default qtbase5-dev qtchooser pkg-config libqt5sql5-sqlite 
doxygen libdbus-1-dev
   script:
     - find build | xargs touch # Avoid rebuilding
     - cd build
@@ -34,6 +34,38 @@ test_amd64:
     paths:
       - ./
 
+build_amd64_qt6:
+  stage: build
+  image: ubuntu:jammy
+  before_script:
+    - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
+    - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" 
install -y qmake6 qt6-base-dev pkg-config libqt6sql6-sqlite doxygen 
libdbus-1-dev g++ make
+  script:
+    - mkdir build
+    - cd build
+    - qmake6 CONFIG+=debug CONFIG+=coverage CONFIG+=enable-backup 
CONFIG+=enable-p2p ..
+    - make -j 4
+  artifacts:
+    paths:
+      - build/
+
+test_amd64_qt6:
+  stage: test
+  image: ubuntu:jammy
+  before_script:
+    - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
+    - export DEBIAN_FRONTEND=noninteractive
+    - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" 
install -y dbus-test-runner libqtdbusmock1-dev libqtdbustest1-dev lcov gcovr 
make qmake6 qt6-base-dev pkg-config libqt6sql6-sqlite doxygen libdbus-1-dev g++ 
make
+  script:
+    - find build | xargs touch # Avoid rebuilding
+    - cd build
+    - make coverage-html
+  dependencies:
+    - build_amd64_qt6
+  artifacts:
+    paths:
+      - ./
+
 pages:
   stage: deploy
   script:
diff --git a/common-project-config.pri b/common-project-config.pri
index abe6cf6..af5f425 100644
--- a/common-project-config.pri
+++ b/common-project-config.pri
@@ -29,8 +29,8 @@ DEFINES += DEBUG_ENABLED
 DEFINES += NO_SIGNON_USER
 
 # Library name for CMake and pkg-config
-LIBSIGNON = libsignon-qt5
-CMAKE_BASENAME = SignOnQt5
+LIBSIGNON = libsignon-qt$${QT_MAJOR_VERSION}
+CMAKE_BASENAME = SignOnQt$${QT_MAJOR_VERSION}
 
 #-----------------------------------------------------------------------------
 # setup the installation prefix
diff --git a/lib/SignOn/SignOnQt5Config.cmake.in 
b/lib/SignOn/SignOnQt5Config.cmake.in
index 523fffb..128ee8d 100644
--- a/lib/SignOn/SignOnQt5Config.cmake.in
+++ b/lib/SignOn/SignOnQt5Config.cmake.in
@@ -4,4 +4,4 @@
 
 set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
 set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
-set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
\ No newline at end of file
+set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
diff --git a/lib/SignOn/SignOnQt6Config.cmake.in 
b/lib/SignOn/SignOnQt6Config.cmake.in
new file mode 100644
index 0000000..128ee8d
--- /dev/null
+++ b/lib/SignOn/SignOnQt6Config.cmake.in
@@ -0,0 +1,7 @@
+#  SIGNONQT_INCLUDE_DIRS - The libsignon-qt include directories
+#  SIGNONQT_LIBRARIES - The libraries needed to use libsignon-qt
+#  SIGNONQT_LIBRARIES_STATIC - The static version of libsignon-qt
+
+set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
+set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
+set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
diff --git a/lib/SignOn/SignOnQt6ConfigVersion.cmake.in 
b/lib/SignOn/SignOnQt6ConfigVersion.cmake.in
new file mode 100644
index 0000000..616cd60
--- /dev/null
+++ b/lib/SignOn/SignOnQt6ConfigVersion.cmake.in
@@ -0,0 +1,10 @@
+set(PACKAGE_VERSION $${PROJECT_VERSION})
+
+if(\"${PACKAGE_VERSION}\" VERSION_LESS \"${PACKAGE_FIND_VERSION}\" )
+   set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else(\"${PACKAGE_VERSION}\" VERSION_LESS \"${PACKAGE_FIND_VERSION}\" )
+   set(PACKAGE_VERSION_COMPATIBLE TRUE)
+   if( \"${PACKAGE_FIND_VERSION}\" STREQUAL \"${PACKAGE_VERSION}\")
+      set(PACKAGE_VERSION_EXACT TRUE)
+   endif( \"${PACKAGE_FIND_VERSION}\" STREQUAL \"${PACKAGE_VERSION}\")
+endif(\"${PACKAGE_VERSION}\" VERSION_LESS \"${PACKAGE_FIND_VERSION}\" )
diff --git a/lib/SignOn/libsignon-qt.pri b/lib/SignOn/libsignon-qt.pri
index 1458c50..a318fe8 100644
--- a/lib/SignOn/libsignon-qt.pri
+++ b/lib/SignOn/libsignon-qt.pri
@@ -2,7 +2,7 @@ include( ../../common-project-config.pri )
 include( ../../common-vars.pri )
 TEMPLATE = lib
 
-TARGET = signon-qt5
+TARGET = signon-qt$${QT_MAJOR_VERSION}
 
 # Input
 public_headers += \
diff --git a/lib/SignOn/libsignon-qt6.pc.in b/lib/SignOn/libsignon-qt6.pc.in
new file mode 100644
index 0000000..6a1bcb1
--- /dev/null
+++ b/lib/SignOn/libsignon-qt6.pc.in
@@ -0,0 +1,11 @@
+prefix=$$INSTALL_PREFIX
+exec_prefix=${prefix}
+libdir=$$INSTALL_LIBDIR
+includedir=${prefix}/include
+
+Name: libsignon-qt6
+Description: Client library for the Single Sign On daemon, Qt6 bindings.
+Version: $$PROJECT_VERSION
+Libs: -L${libdir} -lsignon-qt6
+Requires: Qt6Core
+Cflags: -I${includedir}/signon-qt6 -I${includedir}/signon-qt6/SignOn
diff --git a/lib/plugins/SignOn/authpluginif.h 
b/lib/plugins/SignOn/authpluginif.h
index 7b3243c..cad5d35 100644
--- a/lib/plugins/SignOn/authpluginif.h
+++ b/lib/plugins/SignOn/authpluginif.h
@@ -31,6 +31,7 @@
 #include <QtCore/qobject.h>
 #include <QtCore/qpointer.h>
 #include <QtCore/qplugin.h>
+#include <QtCore/qstringlist.h>
 
 #include <QVariantMap>
 #include <SignOn/sessiondata.h>
@@ -39,7 +40,6 @@
 
 QT_BEGIN_NAMESPACE
 class QString;
-class QStringList;
 class QByteArray;
 class QVariant;
 QT_END_NAMESPACE
@@ -73,7 +73,7 @@ enum AuthPluginState {
         }
 
 #define SIGNON_DECL_AUTH_PLUGIN(pluginclass) \
-        Q_EXTERN_C AuthPluginInterface *auth_plugin_instance() \
+        extern "C" AuthPluginInterface *auth_plugin_instance() \
         SIGNON_PLUGIN_INSTANCE(pluginclass)
 
 /*!
diff --git a/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp 
b/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp
index d156659..fe35031 100644
--- a/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp
+++ b/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp
@@ -63,7 +63,8 @@ bool BlobIOHandler::sendData(const QVariantMap &map)
 
     QDataStream stream(m_writeChannel);
     QByteArray ba = variantMapToByteArray(map);
-    stream << ba.size();
+    // in Qt6 QByteArray::size() is 64 bit, but the receiving side expects int
+    stream << static_cast<int>(ba.size());
 
     QVector<QByteArray> pages = pageByteArray(ba);
     for (int i = 0; i < pages.count(); ++i)
diff --git a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in 
b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
index 3d7f3db..8cbc9d4 100644
--- a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
+++ b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
@@ -6,5 +6,5 @@ plugin_includedir=${includedir}/signon-plugins/SignOn
 Name: signon-plugins-common
 Description: SignonPluginsCommon
 Version: $$PROJECT_VERSION
-Libs.private: -L/usr/lib -lQt5Core
+Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
 Cflags:  -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
diff --git a/lib/plugins/signon-plugins.pc.in b/lib/plugins/signon-plugins.pc.in
index 5be38df..8849e5a 100644
--- a/lib/plugins/signon-plugins.pc.in
+++ b/lib/plugins/signon-plugins.pc.in
@@ -8,6 +8,6 @@ Name: signon-plugins
 Description: SignonPlugins
 Version: $$PROJECT_VERSION
 Requires: $${LIBSIGNON}
-Libs.private: -L/usr/lib -lQt5Core
+Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
 Cflags:  -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
 Libs: -lsignon-plugins
diff --git a/lib/signond/SignOn/SignOnExtension.pc.in 
b/lib/signond/SignOn/SignOnExtension.pc.in
index e439284..ce7ad9c 100644
--- a/lib/signond/SignOn/SignOnExtension.pc.in
+++ b/lib/signond/SignOn/SignOnExtension.pc.in
@@ -7,6 +7,6 @@ plugindir=$$SIGNOND_EXTENSIONS_DIR
 Name: SignOnExtension
 Description: SignOn extension development 
 Version: $$PROJECT_VERSION
-Requires: Qt5Core
+Requires: Qt$${QT_MAJOR_VERSION}Core
 Libs: -L${libdir} -lsignon-extension
 Cflags: -I${includedir}/signon-extension
diff --git a/src/signond/pluginproxy.cpp b/src/signond/pluginproxy.cpp
index d31c712..2b9b28d 100644
--- a/src/signond/pluginproxy.cpp
+++ b/src/signond/pluginproxy.cpp
@@ -99,8 +99,9 @@ PluginProxy::PluginProxy(QString type, QObject *parent):
      */
     connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
             this, SLOT(onExit(int, QProcess::ExitStatus)));
-    connect(m_process, SIGNAL(error(QProcess::ProcessError)),
-            this, SLOT(onError(QProcess::ProcessError)));
+
+    connect(m_process, &PluginProcess::errorOccurred,
+            this, &PluginProxy::onError);
 }
 
 PluginProxy::~PluginProxy()
@@ -125,10 +126,10 @@ PluginProxy::~PluginProxy()
 
             if (!m_process->waitForFinished(PLUGINPROCESS_STOP_TIMEOUT))
             {
-                if (m_process->pid()) {
+                if (m_process->processId()) {
                     qCritical() << "The signon plugin seems to ignore kill(), "
                         "killing it from command line";
-                    QString killProcessCommand(QString::fromLatin1("kill -9 
%1").arg(m_process->pid()));
+                    QString killProcessCommand(QString::fromLatin1("kill -9 
%1").arg(m_process->processId()));
                     QProcess::execute(killProcessCommand);
                 }
             }
diff --git a/src/signond/signondaemonadaptor.cpp 
b/src/signond/signondaemonadaptor.cpp
index a407175..0f01d34 100644
--- a/src/signond/signondaemonadaptor.cpp
+++ b/src/signond/signondaemonadaptor.cpp
@@ -63,17 +63,18 @@ SignonDaemonAdaptor::registerObject(const QDBusConnection 
&connection,
     return QDBusObjectPath(path);
 }
 
-void SignonDaemonAdaptor::registerNewIdentity(const QString 
&applicationContext,
-                                              QDBusObjectPath &objectPath)
+QDBusObjectPath SignonDaemonAdaptor::registerNewIdentity(const QString 
&applicationContext)
 {
     Q_UNUSED(applicationContext);
 
     SignonIdentity *identity = m_parent->registerNewIdentity();
 
     QDBusConnection dbusConnection(parentDBusContext().connection());
-    objectPath = registerObject(dbusConnection, identity);
+    QDBusObjectPath objectPath = registerObject(dbusConnection, identity);
 
     SignonDisposable::destroyUnused();
+
+    return objectPath;
 }
 
 void SignonDaemonAdaptor::securityErrorReply()
diff --git a/src/signond/signondaemonadaptor.h 
b/src/signond/signondaemonadaptor.h
index c51a6b8..639a135 100644
--- a/src/signond/signondaemonadaptor.h
+++ b/src/signond/signondaemonadaptor.h
@@ -49,8 +49,7 @@ public:
         { return *static_cast<QDBusContext *>(m_parent); }
 
 public Q_SLOTS:
-    void registerNewIdentity(const QString &applicationContext,
-                             QDBusObjectPath &objectPath);
+    QDBusObjectPath registerNewIdentity(const QString &applicationContext);
     void getIdentity(const quint32 id, const QString &applicationContext,
                      QDBusObjectPath &objectPath,
                      QVariantMap &identityData);
diff --git a/src/signond/signonidentity.cpp b/src/signond/signonidentity.cpp
index 92ff476..aef4a97 100644
--- a/src/signond/signonidentity.cpp
+++ b/src/signond/signonidentity.cpp
@@ -288,8 +288,7 @@ void SignonIdentity::verifyUser(const QVariantMap &params,
     }
 
     //create ui request to ask password
-    QVariantMap uiRequest;
-    uiRequest.unite(params);
+    QVariantMap uiRequest = params;
     uiRequest.insert(SSOUI_KEY_QUERYPASSWORD, true);
     uiRequest.insert(SSOUI_KEY_USERNAME, info.userName());
     uiRequest.insert(SSOUI_KEY_CAPTION, info.caption());
diff --git a/src/signond/signonidentityinfo.cpp 
b/src/signond/signonidentityinfo.cpp
index a5ae15d..bf7985f 100644
--- a/src/signond/signonidentityinfo.cpp
+++ b/src/signond/signonidentityinfo.cpp
@@ -27,6 +27,7 @@
 #include <QDBusArgument>
 #include <QDataStream>
 #include <QDebug>
+#include <QtGlobal>
 
 namespace SignonDaemonNS {
 
@@ -104,7 +105,11 @@ bool SignonIdentityInfo::checkMethodAndMechanism(const 
QString &method,
      * mechanisms is allowed.
      */
     QStringList mechanisms =
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+        mechanism.split(QLatin1Char(' '), Qt::SkipEmptyParts);
+#else
         mechanism.split(QLatin1Char(' '), QString::SkipEmptyParts);
+#endif
 
     /* if the list is empty of it has only one element, then we already know
      * that it didn't pass the previous checks */
diff --git a/src/signond/signonsessioncore.cpp 
b/src/signond/signonsessioncore.cpp
index 93a7328..bebf934 100644
--- a/src/signond/signonsessioncore.cpp
+++ b/src/signond/signonsessioncore.cpp
@@ -217,8 +217,16 @@ SignonSessionCore::queryAvailableMechanisms(const 
QStringList &wantedMechanisms)
     if (!wantedMechanisms.size())
         return m_plugin->mechanisms();
 
-    return m_plugin->mechanisms().toSet().
-        intersect(wantedMechanisms.toSet()).toList();
+    const QStringList mechanisms = m_plugin->mechanisms();
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+    QSet<QString> mechanismSet(mechanisms.begin(), mechanisms.end());
+    QSet<QString> wantedMechanismSet(wantedMechanisms.begin(), 
wantedMechanisms.end());
+#else
+    QSet<QString> mechanismSet = mechanisms.toSet();
+    QSet<QString> wantedMechanismSet = wantedMechanisms.toSet();
+#endif
+
+    return mechanismSet.intersect(wantedMechanismSet).values();
 }
 
 void SignonSessionCore::process(const PeerContext &peerContext,
diff --git a/src/signond/signonsessioncoretools.cpp 
b/src/signond/signonsessioncoretools.cpp
index 8b74840..e856d1a 100644
--- a/src/signond/signonsessioncoretools.cpp
+++ b/src/signond/signonsessioncoretools.cpp
@@ -34,6 +34,7 @@ QVariantMap SignonDaemonNS::mergeVariantMaps(const 
QVariantMap &map1,
     if (map1.isEmpty()) return map2;
     if (map2.isEmpty()) return map1;
 
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
     QVariantMap map = map1;
     //map2 values will overwrite map1 values for the same keys.
     QMapIterator<QString, QVariant> it(map2);
@@ -43,6 +44,11 @@ QVariantMap SignonDaemonNS::mergeVariantMaps(const 
QVariantMap &map1,
             map.remove(it.key());
     }
     return map.unite(map2);
+#else
+    QVariantMap map = map1;
+    map.insert(map2);
+    return map;
+#endif
 }
 
 /* --------------------- StoreOperation ---------------------- */
diff --git a/tests/libsignon-qt-tests/libsignon-qt-tests.pro 
b/tests/libsignon-qt-tests/libsignon-qt-tests.pro
index 4dd6ce4..7e44272 100644
--- a/tests/libsignon-qt-tests/libsignon-qt-tests.pro
+++ b/tests/libsignon-qt-tests/libsignon-qt-tests.pro
@@ -10,7 +10,7 @@ QT += \
     testlib
 QT -= gui
 
-LIBS *= -lsignon-qt5
+LIBS *= -lsignon-qt$${QT_MAJOR_VERSION}
 QMAKE_LIBDIR += $${TOP_BUILD_DIR}/lib/SignOn
 QMAKE_RPATHDIR = $${QMAKE_LIBDIR}
 
diff --git a/tests/signond-tests/databasetest.cpp 
b/tests/signond-tests/databasetest.cpp
index b5ee761..b22ba54 100644
--- a/tests/signond-tests/databasetest.cpp
+++ b/tests/signond-tests/databasetest.cpp
@@ -32,6 +32,15 @@
 const QString dbFile = QLatin1String("/tmp/signon_test.db");
 const QString secretsDbFile = QLatin1String("/tmp/signon_test_secrets.db");
 
+static QSet<QString> toSet(const QStringList &list)
+{
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+    return QSet<QString>(list.begin(), list.end());
+#else
+    return list.toSet();
+#endif
+}
+
 void TestDatabase::initTestCase()
 {
     QFile::remove(dbFile);
@@ -353,17 +362,18 @@ void TestDatabase::updateCredentialsTest()
 
     /* The sorting of the method's mechanisms might vary, so we cannot just
      * compare the whole method map as a whole. */
-    QCOMPARE(retInfo.methods().keys().toSet(),
-             updateInfo.methods().keys().toSet());
+    QCOMPARE(toSet(retInfo.methods().keys()),
+             toSet(updateInfo.methods().keys()));
+
     QMapIterator<QString, QStringList> it(retInfo.methods());
     while (it.hasNext()) {
         it.next();
-        QCOMPARE(it.value().toSet(), umethods.value(it.key()).toSet());
+        QCOMPARE(toSet(it.value()), toSet(umethods.value(it.key())));
     }
 
-    QCOMPARE(retInfo.realms().toSet(), updateInfo.realms().toSet());
-    QCOMPARE(retInfo.accessControlList().toSet(),
-             updateInfo.accessControlList().toSet());
+    QCOMPARE(toSet(retInfo.realms()), toSet(updateInfo.realms()));
+    QCOMPARE(toSet(retInfo.accessControlList()),
+             toSet(updateInfo.accessControlList()));
 }
 
 void TestDatabase::removeCredentialsTest()
@@ -658,8 +668,8 @@ void TestDatabase::credentialsOwnerSecurityTokenTest()
     QString token = m_db->credentialsOwnerSecurityToken(id);
     QCOMPARE(token, QLatin1String("AID::12345678"));
     QStringList tokens = m_db->ownerList(id);
-    QCOMPARE(tokens.toSet(), testAcl.toSet());
 
+    QCOMPARE(toSet(tokens), toSet(testAcl));
 }
 
 QTEST_MAIN(TestDatabase)
diff --git a/tests/signond-tests/identity-tool.pro 
b/tests/signond-tests/identity-tool.pro
index c90e046..3a99e9d 100644
--- a/tests/signond-tests/identity-tool.pro
+++ b/tests/signond-tests/identity-tool.pro
@@ -6,7 +6,7 @@ TARGET = identity-tool
 QT += core
 QT -= gui
 
-LIBS += -lsignon-qt5
+LIBS += -lsignon-qt$${QT_MAJOR_VERSION}
 
 QMAKE_LIBDIR += \
     $${TOP_BUILD_DIR}/lib/signond/SignOn \
diff --git a/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro 
b/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro
index 2dac5ad..b78e691 100644
--- a/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro
+++ b/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro
@@ -6,7 +6,7 @@ TARGET = identity-ac-helper
 QT += core
 QT -= gui
 
-LIBS += -lsignon-qt5
+LIBS += -lsignon-qt$${QT_MAJOR_VERSION}
 
 QMAKE_LIBDIR += \
     $${TOP_BUILD_DIR}/lib/signond/SignOn \
diff --git a/tests/signond-tests/signond-tests.pri 
b/tests/signond-tests/signond-tests.pri
index cbdfae3..74fa5b4 100644
--- a/tests/signond-tests/signond-tests.pri
+++ b/tests/signond-tests/signond-tests.pri
@@ -11,7 +11,7 @@ QT -= gui
 
 LIBS += \
     -lsignon-extension \
-    -lsignon-qt5
+    -lsignon-qt$${QT_MAJOR_VERSION}
 
 QMAKE_LIBDIR += \
     $${TOP_BUILD_DIR}/lib/signond/SignOn \
-- 
2.43.0


++++++ _multibuild ++++++
<multibuild>
  <flavor>qt6</flavor>
</multibuild>

Reply via email to