Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-mqtt for openSUSE:Factory checked in at 2023-04-05 21:31:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-mqtt (Old) and /work/SRC/openSUSE:Factory/.qt6-mqtt.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-mqtt" Wed Apr 5 21:31:54 2023 rev:20 rq:1077330 version:6.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-mqtt/qt6-mqtt.changes 2023-03-17 17:03:49.205541345 +0100 +++ /work/SRC/openSUSE:Factory/.qt6-mqtt.new.19717/qt6-mqtt.changes 2023-04-05 21:36:43.530935044 +0200 @@ -1,0 +2,6 @@ +Mon Apr 3 10:02:11 UTC 2023 - Christophe Marin <[email protected]> + +- Update to 6.5.0 + * https://www.qt.io/blog/qt-6.5-lts-released + +------------------------------------------------------------------- Old: ---- qtmqtt-everywhere-src-6.4.3.tar.xz New: ---- qtmqtt-everywhere-src-6.5.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-mqtt.spec ++++++ --- /var/tmp/diff_new_pack.fhEcoa/_old 2023-04-05 21:36:44.042937967 +0200 +++ /var/tmp/diff_new_pack.fhEcoa/_new 2023-04-05 21:36:44.054938035 +0200 @@ -1,7 +1,7 @@ # # spec file for package qt6-mqtt # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,8 +16,8 @@ # -%define real_version 6.4.3 -%define short_version 6.4 +%define real_version 6.5.0 +%define short_version 6.5 %define tar_name qtmqtt-everywhere-src %define tar_suffix %{nil} # @@ -27,7 +27,7 @@ %endif # Name: qt6-mqtt%{?pkg_suffix} -Version: 6.4.3 +Version: 6.5.0 Release: 0 Summary: Qt 6 Module to implement MQTT protocol version 3.1 and 3.1.1 License: GPL-3.0-only WITH Qt-GPL-exception-1.0 @@ -37,13 +37,13 @@ BuildRequires: fdupes BuildRequires: pkgconfig BuildRequires: qt6-core-private-devel -BuildRequires: cmake(Qt6Core) -BuildRequires: cmake(Qt6Gui) -BuildRequires: cmake(Qt6Network) -BuildRequires: cmake(Qt6Qml) -BuildRequires: cmake(Qt6Quick) -BuildRequires: cmake(Qt6WebSockets) -BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6Core) = %{real_version} +BuildRequires: cmake(Qt6Gui) = %{real_version} +BuildRequires: cmake(Qt6Network) = %{real_version} +BuildRequires: cmake(Qt6Qml) = %{real_version} +BuildRequires: cmake(Qt6Quick) = %{real_version} +BuildRequires: cmake(Qt6WebSockets) = %{real_version} +BuildRequires: cmake(Qt6Widgets) = %{real_version} %if "%{qt6_flavor}" == "docs" BuildRequires: qt6-tools %{qt6_doc_packages} @@ -64,7 +64,7 @@ %package devel Summary: Qt 6 Mqtt library - Development files Requires: libQt6Mqtt6 = %{version} -Requires: cmake(Qt6Network) +Requires: cmake(Qt6Network) = %{real_version} %description devel Development files for the Qt 6 Mqtt library. ++++++ _service ++++++ --- /var/tmp/diff_new_pack.fhEcoa/_old 2023-04-05 21:36:44.110938355 +0200 +++ /var/tmp/diff_new_pack.fhEcoa/_new 2023-04-05 21:36:44.110938355 +0200 @@ -1,9 +1,9 @@ <services> <service name="tar_scm" mode="disabled"> <param name="changesgenerate">disable</param> - <param name="version">6.4.3</param> + <param name="version">6.5.0</param> <param name="url">git://code.qt.io/qt/qtmqtt.git</param> - <param name="revision">v6.4.3</param> + <param name="revision">v6.5.0</param> <param name="scm">git</param> <param name="filename">qtmqtt-everywhere-src</param> </service> ++++++ qtmqtt-everywhere-src-6.4.3.tar.xz -> qtmqtt-everywhere-src-6.5.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/.cmake.conf new/qtmqtt-everywhere-src-6.5.0/.cmake.conf --- old/qtmqtt-everywhere-src-6.4.3/.cmake.conf 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/.cmake.conf 2023-03-28 16:23:49.000000000 +0200 @@ -1,2 +1,3 @@ -set(QT_REPO_MODULE_VERSION "6.4.3") +set(QT_REPO_MODULE_VERSION "6.5.0") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") +set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qtmqtt.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause cmake_minimum_required(VERSION 3.16) @@ -10,7 +11,7 @@ LANGUAGES CXX C ) -find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core Network) # special case -find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Quick WebSockets # For tests # special case - Gui Widgets) # For examples # special case +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core Network) +find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Quick WebSockets # For tests + Gui Widgets) # For examples qt_build_repo() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/dependencies.yaml new/qtmqtt-everywhere-src-6.5.0/dependencies.yaml --- old/qtmqtt-everywhere-src-6.4.3/dependencies.yaml 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/dependencies.yaml 2023-03-28 16:23:49.000000000 +0200 @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 519d2d8f442409e86a0ee2fa16bd543342180861 + ref: aea92807be2567c4212b96ae67de7137075ba4ee required: true ../qtdeclarative: - ref: 7161b3a04d08aea891bd7c7e459437260d29c3f3 + ref: 3238e18d6b0dc45d2e765fb0b93da5cbf3f396ec required: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + qt_examples_build_begin(EXTERNAL_BUILD) add_subdirectory(mqtt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + qt_internal_add_example(consolepubsub) if(TARGET Qt::Gui AND TARGET Qt::Widgets) qt_internal_add_example(simpleclient) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/consolepubsub/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/consolepubsub/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/consolepubsub/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/consolepubsub/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) project(qtmqtt_pub_sub LANGUAGES CXX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/consolepubsub/qtmqtt_pub.pro new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/consolepubsub/qtmqtt_pub.pro --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/consolepubsub/qtmqtt_pub.pro 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/consolepubsub/qtmqtt_pub.pro 2023-03-28 16:23:49.000000000 +0200 @@ -13,7 +13,7 @@ # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +#DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x060000 # disables all APIs deprecated in Qt 6.0.0 and earlier SOURCES += \ main_pub.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/consolepubsub/qtmqtt_sub.pro new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/consolepubsub/qtmqtt_sub.pro --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/consolepubsub/qtmqtt_sub.pro 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/consolepubsub/qtmqtt_sub.pro 2023-03-28 16:23:49.000000000 +0200 @@ -13,7 +13,7 @@ # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +#DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x060000 # disables all APIs deprecated in Qt 6.0.0 and earlier SOURCES += \ main_sub.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quickpublication/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quickpublication/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quickpublication/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quickpublication/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) project(quickpublication LANGUAGES CXX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quickpublication/quickpublication.pro new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quickpublication/quickpublication.pro --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quickpublication/quickpublication.pro 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quickpublication/quickpublication.pro 2023-03-28 16:23:49.000000000 +0200 @@ -26,7 +26,7 @@ # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +#DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x060000 # disables all APIs deprecated in Qt 6.0.0 and earlier target.path = $$[QT_INSTALL_EXAMPLES]/mqtt/quickpublication INSTALLS += target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quicksubscription/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quicksubscription/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quicksubscription/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quicksubscription/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) project(quicksubscription LANGUAGES CXX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quicksubscription/quicksubscription.pro new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quicksubscription/quicksubscription.pro --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/quicksubscription/quicksubscription.pro 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/quicksubscription/quicksubscription.pro 2023-03-28 16:23:49.000000000 +0200 @@ -26,7 +26,7 @@ # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +#DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x060000 # disables all APIs deprecated in Qt 6.0.0 and earlier target.path = $$[QT_INSTALL_EXAMPLES]/mqtt/quicksubscription INSTALLS += target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/simpleclient/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/simpleclient/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/simpleclient/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/simpleclient/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) project(simplemqttclient LANGUAGES CXX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/simpleclient/simpleclient.pro new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/simpleclient/simpleclient.pro --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/simpleclient/simpleclient.pro 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/simpleclient/simpleclient.pro 2023-03-28 16:23:49.000000000 +0200 @@ -14,7 +14,7 @@ # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +#DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x060000 # disables all APIs deprecated in Qt 6.0.0 and earlier SOURCES += main.cpp\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/subscriptions/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/subscriptions/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/subscriptions/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/subscriptions/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) project(mqttsubscriptions LANGUAGES CXX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/subscriptions/subscriptions.pro new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/subscriptions/subscriptions.pro --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/subscriptions/subscriptions.pro 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/subscriptions/subscriptions.pro 2023-03-28 16:23:49.000000000 +0200 @@ -11,7 +11,7 @@ # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +#DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x060000 # disables all APIs deprecated in Qt 6.0.0 and earlier SOURCES += main.cpp\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/websocketsubscription/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/websocketsubscription/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/websocketsubscription/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/websocketsubscription/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) project(websocketsubscription LANGUAGES CXX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/websocketsubscription/websocketsubscription.pro new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/websocketsubscription/websocketsubscription.pro --- old/qtmqtt-everywhere-src-6.4.3/examples/mqtt/websocketsubscription/websocketsubscription.pro 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/examples/mqtt/websocketsubscription/websocketsubscription.pro 2023-03-28 16:23:49.000000000 +0200 @@ -22,7 +22,7 @@ # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +#DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x060000 # disables all APIs deprecated in Qt 6.0.0 and earlier target.path = $$[QT_INSTALL_EXAMPLES]/mqtt/websocketsubscription INSTALLS += target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/src/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/src/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/src/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/src/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,4 @@ -# Generated from src.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause add_subdirectory(mqtt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/src/mqtt/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/src/mqtt/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/src/mqtt/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/src/mqtt/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from mqtt.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## Mqtt Module: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/src/mqtt/doc/qtmqtt.qdocconf new/qtmqtt-everywhere-src-6.5.0/src/mqtt/doc/qtmqtt.qdocconf --- old/qtmqtt-everywhere-src-6.4.3/src/mqtt/doc/qtmqtt.qdocconf 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/src/mqtt/doc/qtmqtt.qdocconf 2023-03-28 16:23:49.000000000 +0200 @@ -33,8 +33,6 @@ ../../../examples/mqtt/doc/images excludedirs += ../qt4support -Cpp.ignoretokens += Q_MQTT_EXPORT - depends += qtcore qtdoc qtnetwork qmake qtwebsockets qtcmake #add generic thumbnail images for example documentation that does not have an image. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/src/mqtt/qmqttconnection.cpp new/qtmqtt-everywhere-src-6.5.0/src/mqtt/qmqttconnection.cpp --- old/qtmqtt-everywhere-src-6.4.3/src/mqtt/qmqttconnection.cpp 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/src/mqtt/qmqttconnection.cpp 2023-03-28 16:23:49.000000000 +0200 @@ -1650,10 +1650,15 @@ emit m_clientPrivate->m_client->messageStatusChanged(id, QMqtt::MessageStatus::Published, statusProp); } - for (auto sub = m_activeSubscriptions.constBegin(); sub != m_activeSubscriptions.constEnd(); sub++) { - if (sub.key().match(topic)) - emit sub.value()->messageReceived(qmsg); + // Store subscriptions in a temporary container as each messageReceived is allowed to subscribe + // again and thus invalid the iterator of the loop. + QList<QMqttSubscription *> subscribers; + for (const auto [key, value] : m_activeSubscriptions.asKeyValueRange()) { + if (key.match(topic)) + subscribers.append(value); } + for (const auto &s : subscribers) + emit s->messageReceived(qmsg); if (m_currentPublish.qos == 1) sendControlPublishAcknowledge(id); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from tests.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause if(QT_BUILD_STANDALONE_TESTS) # Add qt_find_package calls for extra dependencies that need to be found when building diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,9 +1,8 @@ -# Generated from auto.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause if(WIN32 OR (LINUX AND NOT CMAKE_CROSSCOMPILING)) -# special case begin # add_subdirectory(cmake) -# special case end add_subdirectory(conformance) add_subdirectory(qmqttconnectionproperties) add_subdirectory(qmqttcontrolpacket) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/cmake/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/cmake/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/cmake/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/cmake/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/conformance/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/conformance/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/conformance/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/conformance/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from conformance.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_conformance Test: @@ -14,7 +15,6 @@ ../../common LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttclient/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttclient/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttclient/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttclient/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqttclient.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqttclient Test: @@ -14,7 +15,6 @@ ../../common LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttconnectionproperties/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttconnectionproperties/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttconnectionproperties/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttconnectionproperties/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqttconnectionproperties.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqttconnectionproperties Test: @@ -14,7 +15,6 @@ ../../common LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttcontrolpacket/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttcontrolpacket/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttcontrolpacket/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttcontrolpacket/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqttcontrolpacket.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqttcontrolpacket Test: @@ -11,7 +12,6 @@ SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/\\\" LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttlastwillproperties/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttlastwillproperties/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttlastwillproperties/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttlastwillproperties/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqttlastwillproperties.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqttlastwillproperties Test: @@ -14,7 +15,6 @@ ../../common LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttpublishproperties/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttpublishproperties/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttpublishproperties/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttpublishproperties/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqttpublishproperties.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqttpublishproperties Test: @@ -14,7 +15,6 @@ ../../common LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttsubscription/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttsubscription/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttsubscription/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttsubscription/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqttsubscription.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqttsubscription Test: @@ -14,7 +15,6 @@ ../../common LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp 2023-03-28 16:23:49.000000000 +0200 @@ -29,6 +29,7 @@ void sharedNonShared(); void noLocal_data(); void noLocal(); + void qtbug_106203(); private: void createAndSubscribe(QMqttClient *c, QMqttSubscription **sub, const QString &topic); QProcess m_brokerProcess; @@ -192,7 +193,7 @@ // [MQTT-4.1.0-2] A Session MUST last at least as long it has an active Network Connection. // All testbrokers delete the session at transport disconnect, regardless of DISCONNECT been // send before or not. - if (restoredSpy.count() > 0) { + if (restoredSpy.size() > 0) { QCOMPARE(reSub->state(), QMqttSubscription::Subscribed); pubSpy.clear(); receivalSpy.clear(); @@ -388,16 +389,67 @@ QSignalSpy receivalSpy(sub, SIGNAL(messageReceived(QMqttMessage))); client.publish(topic, "content", 1); - QTRY_VERIFY(publishSpy.count() == 1); + QTRY_VERIFY(publishSpy.size() == 1); if (version == QMqttClient::MQTT_3_1_1 || !non) { // 3.1.1 does not know NoLocal and sends to subscription - QTRY_VERIFY(receivalSpy.count() == 1); + QTRY_VERIFY(receivalSpy.size() == 1); } else { QTest::qWait(3000); - QCOMPARE(receivalSpy.count(), 0); + QCOMPARE(receivalSpy.size(), 0); } } +void Tst_QMqttSubscription::qtbug_106203() +{ + const QString topic(QLatin1String("Qt/qtbug106203/Identity")); + + // Fill up sub-Topics with retained messages (ie connection state of devices) + QMqttClient retainer; + retainer.setHostname(m_testBroker); + retainer.setPort(m_port); + retainer.connectToHost(); + const int messageCount = 200; + QTRY_VERIFY2(retainer.state() == QMqttClient::Connected, "Could not connect to broker."); + for (int i = 0; i < messageCount; ++i) { + QSignalSpy publishSpy(&retainer, SIGNAL(messageSent(qint32))); + const QByteArray content = QString::fromLatin1("Content: %1").arg(i).toLocal8Bit(); + + retainer.publish(topic + QString("/msg%1").arg(i), content, 1, true); + QTRY_VERIFY(publishSpy.size() == 1); + } + + retainer.disconnectFromHost(); + QTRY_VERIFY2(retainer.state() == QMqttClient::Disconnected, "Could not disconnect from broker."); + + QMqttClient client; + client.setHostname(m_testBroker); + client.setPort(m_port); + + client.connectToHost(); + QTRY_VERIFY2(client.state() == QMqttClient::Connected, "Could not connect to broker."); + + auto sub = client.subscribe(topic + QLatin1String("/#"), 1); + QSignalSpy receiveSpy(sub, SIGNAL(messageReceived(QMqttMessage))); + + connect(sub, &QMqttSubscription::messageReceived, sub, [&client, topic](QMqttMessage msg) { + // This can potentially cause relayout of internal structures + auto subsub = client.subscribe(QString("/%1").arg(msg.payload()) + topic, 1); + connect(subsub, &QMqttSubscription::messageReceived, &client, [](QMqttMessage) { + QVERIFY2(false, "Second sub should never be reached"); + }); + }); + + // We cannot use QTRY_ here as the bug is about receiving too many messages + QTest::qWait(3000); + QVERIFY2(receiveSpy.size() == messageCount, "Received invalid amount of messages."); + + sub->unsubscribe(); + QTRY_VERIFY2(sub->state() == QMqttSubscription::Unsubscribed, "Client could not unsubscribe."); + + client.disconnectFromHost(); + QTRY_VERIFY2(client.state() == QMqttClient::Disconnected, "Could not disconnect from broker."); +} + QTEST_MAIN(Tst_QMqttSubscription) #include "tst_qmqttsubscription.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttsubscriptionproperties/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttsubscriptionproperties/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqttsubscriptionproperties/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqttsubscriptionproperties/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqttsubscriptionproperties.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqttsubscriptionproperties Test: @@ -14,7 +15,6 @@ ../../common LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt Qt::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqtttopicfilter/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqtttopicfilter/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqtttopicfilter/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqtttopicfilter/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqtttopicfilter.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqtttopicfilter Test: @@ -11,6 +12,5 @@ SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/\\\" LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqtttopicname/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqtttopicname/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/auto/qmqtttopicname/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/auto/qmqtttopicname/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from qmqtttopicname.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## tst_qmqtttopicname Test: @@ -11,6 +12,5 @@ SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/\\\" LIBRARIES Qt::MqttPrivate - PUBLIC_LIBRARIES Qt::Mqtt ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.4.3/tests/manual/sslconfiguration/CMakeLists.txt new/qtmqtt-everywhere-src-6.5.0/tests/manual/sslconfiguration/CMakeLists.txt --- old/qtmqtt-everywhere-src-6.4.3/tests/manual/sslconfiguration/CMakeLists.txt 2023-03-12 03:17:24.000000000 +0100 +++ new/qtmqtt-everywhere-src-6.5.0/tests/manual/sslconfiguration/CMakeLists.txt 2023-03-28 16:23:49.000000000 +0200 @@ -1,4 +1,5 @@ -# Generated from sslconfiguration.pro. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## sslconfiguration Binary: @@ -9,19 +10,7 @@ main.cpp DEFINES QT_DEPRECATED_WARNINGS - PUBLIC_LIBRARIES + LIBRARIES Qt::Mqtt Qt::Network ) - -## Scopes: -##################################################################### - -#### Keys ignored in scope 2:.:.:sslconfiguration.pro:QNX: -# target.path = "/tmp/$${TARGET}/bin" - -#### Keys ignored in scope 4:.:.:sslconfiguration.pro:UNIX AND NOT ANDROID: -# target.path = "/opt/$${TARGET}/bin" - -#### Keys ignored in scope 5:.:.:sslconfiguration.pro:NOT target.path_ISEMPTY: -# INSTALLS = "target"
