Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qmqtt for openSUSE:Factory checked in at 2026-08-28 19:47:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qmqtt (Old) and /work/SRC/openSUSE:Factory/.qmqtt.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qmqtt" Fri Aug 28 19:47:26 2026 rev:2 rq:1374110 version:1.0.8 Changes: -------- --- /work/SRC/openSUSE:Factory/qmqtt/qmqtt.changes 2026-08-27 18:54:56.278040886 +0200 +++ /work/SRC/openSUSE:Factory/.qmqtt.new.1265/qmqtt.changes 2026-08-28 19:48:09.163592142 +0200 @@ -1,0 +2,19 @@ +Thu Aug 27 18:09:20 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 1.0.8: + * Picks up the three fixes this package was carrying as patches: + the unit tests are built with the library's SSL configuration, + the CMake test tree configures and compiles against either Qt + major, and the CMake export is installed once instead of twice + * No change to the library sources themselves, so the ABI and the + SONAMEs are untouched (libqmqtt-qt5.so.1, libqmqtt-qt6.so.1) +- Drop qmqtt-tests-follow-ssl-option.patch, merged upstream as + gh#emqx/qmqtt#269 +- Drop qmqtt-tests-any-qt-major.patch, merged upstream as + gh#emqx/qmqtt#270 +- Drop qmqtt-drop-duplicate-cmake-export.patch, merged upstream as + gh#emqx/qmqtt#271 +- Rebase qmqtt-flavoured-install-names.patch; it stays downstream, + since it exists only to serve this package's flavour split + +------------------------------------------------------------------- Old: ---- qmqtt-1.0.7.tar.gz qmqtt-drop-duplicate-cmake-export.patch qmqtt-tests-any-qt-major.patch qmqtt-tests-follow-ssl-option.patch New: ---- qmqtt-1.0.8.tar.gz ----------(Old B)---------- Old: gh#emqx/qmqtt#270 - Drop qmqtt-drop-duplicate-cmake-export.patch, merged upstream as gh#emqx/qmqtt#271 Old: gh#emqx/qmqtt#269 - Drop qmqtt-tests-any-qt-major.patch, merged upstream as gh#emqx/qmqtt#270 Old: SONAMEs are untouched (libqmqtt-qt5.so.1, libqmqtt-qt6.so.1) - Drop qmqtt-tests-follow-ssl-option.patch, merged upstream as gh#emqx/qmqtt#269 ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qmqtt.spec ++++++ --- /var/tmp/diff_new_pack.ttDjQl/_old 2026-08-28 19:48:10.828650342 +0200 +++ /var/tmp/diff_new_pack.ttDjQl/_new 2026-08-28 19:48:10.831650447 +0200 @@ -18,11 +18,7 @@ # Upstream sets SOVERSION to the project major version in CMakeLists.txt. %define sover 1 - %global qmqtt_flavor @BUILD_FLAVOR@%{nil} -%if "%{qmqtt_flavor}" == "" -ExclusiveArch: do_not_build -%endif %if "%{qmqtt_flavor}" == "qt6" %define qt6 1 %define qt_major 6 @@ -38,15 +34,13 @@ # this once WebSockets are enabled. %define qt_min 5.7.0 %endif - %define pname qmqtt %if 0%{?qt_major} %define libname lib%{pname}-qt%{qt_major}-%{sover} %define psuffix -qt%{qt_major} %endif - Name: %{pname}%{?psuffix} -Version: 1.0.7 +Version: 1.0.8 Release: 0 Summary: MQTT client library for %{qt_descr} # Legal-Review-Notice: upstream's LICENSE file offers this library under "the @@ -68,26 +62,13 @@ License: EPL-1.0 OR BSD-3-Clause URL: https://github.com/emqx/qmqtt Source: https://github.com/emqx/qmqtt/archive/v%{version}.tar.gz#/%{pname}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM qmqtt-tests-follow-ssl-option.patch gh#emqx/qmqtt#269 -- -# compile the unit tests with the same SSL configuration as the library, -# otherwise the mocks and the library disagree about the vtable layout of -# NetworkInterface and the suite segfaults -Patch0: qmqtt-tests-follow-ssl-option.patch -# PATCH-FIX-UPSTREAM qmqtt-drop-duplicate-cmake-export.patch gh#emqx/qmqtt#271 -# -- upstream installs the same CMake export twice, the second time under a -# name nothing includes -Patch1: qmqtt-drop-duplicate-cmake-export.patch # PATCH-FIX-OPENSUSE qmqtt-flavoured-install-names.patch -- add a # QMQTT_PACKAGE_NAME knob so the installed library and its CMake package can be # renamed, which is what stops the qt5 and qt6 flavours claiming the same files # and, worse, the same SONAME for two incompatible ABIs. Deliberately NOT sent # upstream: it exists to serve this package's flavour split, so it stays # downstream unless upstream asks for the knob. -Patch2: qmqtt-flavoured-install-names.patch -# PATCH-FIX-UPSTREAM qmqtt-tests-any-qt-major.patch gh#emqx/qmqtt#270 -- the -# CMake test tree hardcodes Qt5, so it neither configures nor compiles against -# Qt6 -Patch3: qmqtt-tests-any-qt-major.patch +Patch0: qmqtt-flavoured-install-names.patch BuildRequires: cmake >= 3.9 BuildRequires: gcc-c++ BuildRequires: pkgconfig @@ -95,6 +76,9 @@ BuildRequires: pkgconfig(%{qt_descr}Network) >= %{qt_min} BuildRequires: pkgconfig(%{qt_descr}Test) >= %{qt_min} BuildRequires: pkgconfig(%{qt_descr}WebSockets) >= %{qt_min} +%if "%{qmqtt_flavor}" == "" +ExclusiveArch: do_not_build +%endif %description QMQTT is an MQTT client library for the Qt framework, speaking the MQTT 3.1 ++++++ qmqtt-1.0.7.tar.gz -> qmqtt-1.0.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/.qmake.conf new/qmqtt-1.0.8/.qmake.conf --- old/qmqtt-1.0.7/.qmake.conf 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/.qmake.conf 2026-08-27 10:15:31.000000000 +0200 @@ -1,4 +1,4 @@ load(qt_build_config) CONFIG += warning_clean -MODULE_VERSION = 1.0.7 +MODULE_VERSION = 1.0.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/.tag new/qmqtt-1.0.8/.tag --- old/qmqtt-1.0.7/.tag 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/.tag 2026-08-27 10:15:31.000000000 +0200 @@ -1 +1 @@ -57dd23cc4f64fc6d7b0cc7e07410b0504f9b6701 +f3bcc2eef7ef7c524cac92bdb7c27f345d014ade diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/CMakeLists.txt new/qmqtt-1.0.8/CMakeLists.txt --- old/qmqtt-1.0.7/CMakeLists.txt 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/CMakeLists.txt 2026-08-27 10:15:31.000000000 +0200 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.9) -project( qmqtt VERSION 1.0.7 ) +project( qmqtt VERSION 1.0.8 ) include( GNUInstallDirs ) # needed to define vars used in install() directives. @@ -181,16 +181,6 @@ OPTIONAL ) -# Generate a CMake file into the installation, to easily use the library -install( - EXPORT ${PROJECT_NAME} - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" - COMPONENT Devel - OPTIONAL -) - - - include( CMakePackageConfigHelpers ) file( WRITE "${CMAKE_CURRENT_BINARY_DIR}/qmqttConfig.cmake.in" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/README.md new/qmqtt-1.0.8/README.md --- old/qmqtt-1.0.7/README.md 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/README.md 2026-08-27 10:15:31.000000000 +0200 @@ -142,6 +142,7 @@ [@NicoWallmeier](https://github.com/NicoWallmeier), Niklas Wulf, Niraj Desai, +[@plusky](https://github.com/plusky), [@Psy-Kai](https://github.com/Psy-Kai), [@rafaeldelucena](https://github.com/rafaeldelucena), [@rokm](https://github.com/rokm), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/src/mqtt/qmqtt.qbs new/qmqtt-1.0.8/src/mqtt/qmqtt.qbs --- old/qmqtt-1.0.7/src/mqtt/qmqtt.qbs 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/src/mqtt/qmqtt.qbs 2026-08-27 10:15:31.000000000 +0200 @@ -8,7 +8,7 @@ property bool webSocketSupport: false property string libraryType: "dynamiclibrary" targetName: "qmqtt" - version: "1.0.7" + version: "1.0.8" cpp.defines: [ "QT_BUILD_QMQTT_LIB", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/tests/CMakeLists.txt new/qmqtt-1.0.8/tests/CMakeLists.txt --- old/qmqtt-1.0.7/tests/CMakeLists.txt 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/tests/CMakeLists.txt 2026-08-27 10:15:31.000000000 +0200 @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.9) -# Add auto tests (simple module tests) -add_subdirectory(auto) - # Add Google Test based unit tests if(NOT WIN32 OR NOT NO_UNIT_TESTS) add_subdirectory(gtest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/tests/gtest/tests/CMakeLists.txt new/qmqtt-1.0.8/tests/gtest/tests/CMakeLists.txt --- old/qmqtt-1.0.7/tests/gtest/tests/CMakeLists.txt 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/tests/gtest/tests/CMakeLists.txt 2026-08-27 10:15:31.000000000 +0200 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.9) # Find Qt Test component -find_package(Qt5 COMPONENTS Test REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Test REQUIRED) # Create the test executable add_executable(qmqtt_tests @@ -27,9 +27,9 @@ target_link_libraries(qmqtt_tests PRIVATE qmqtt - Qt5::Core - Qt5::Network - Qt5::Test + Qt${QT_VERSION_MAJOR}::Core + Qt${QT_VERSION_MAJOR}::Network + Qt${QT_VERSION_MAJOR}::Test gtest gmock ) @@ -47,7 +47,7 @@ target_compile_definitions(qmqtt_tests PRIVATE QMQTT_LIBRARY_TESTS - QT_NO_SSL + ${ssl_defs} ) # Set C++ standard diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/tests/gtest/tests/customprinter.h new/qmqtt-1.0.8/tests/gtest/tests/customprinter.h --- old/qmqtt-1.0.7/tests/gtest/tests/customprinter.h 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/tests/gtest/tests/customprinter.h 2026-08-27 10:15:31.000000000 +0200 @@ -1,9 +1,17 @@ #ifndef CUSTOM_PRINTER_H #define CUSTOM_PRINTER_H +#include <QString> #include <QTextStream> #include <gtest/gtest.h> +// Qt 6 removed the global QTextStream manipulators, which had moved into the +// Qt namespace in 5.14. Pull endl back into scope there and only there: Qt 5 +// still declares the global one, and having both makes the name ambiguous. +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +using Qt::endl; +#endif + class CustomPrinter : public testing::EmptyTestEventListener { public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/tests/gtest/tests/frametest.cpp new/qmqtt-1.0.8/tests/gtest/tests/frametest.cpp --- old/qmqtt-1.0.7/tests/gtest/tests/frametest.cpp 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/tests/gtest/tests/frametest.cpp 2026-08-27 10:15:31.000000000 +0200 @@ -1,6 +1,8 @@ #include <qmqtt_frame.h> +#include <climits> #include <QScopedPointer> #include <QDataStream> +#include <QIODevice> #include <gtest/gtest.h> using namespace testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qmqtt-1.0.7/tests/gtest/tests/sockettest.cpp new/qmqtt-1.0.8/tests/gtest/tests/sockettest.cpp --- old/qmqtt-1.0.7/tests/gtest/tests/sockettest.cpp 2026-07-19 19:53:24.000000000 +0200 +++ new/qmqtt-1.0.8/tests/gtest/tests/sockettest.cpp 2026-08-27 10:15:31.000000000 +0200 @@ -1,6 +1,7 @@ #include <qmqtt_socket_p.h> #include "tcpserver.h" #include <QCoreApplication> +#include <QEventLoop> #include <QSignalSpy> #include <QSharedPointer> #include <QDataStream> @@ -27,10 +28,10 @@ void flushEvents() { - while (QCoreApplication::hasPendingEvents()) + QEventLoop eventLoop; + while (eventLoop.processEvents(QEventLoop::AllEvents)) { - QCoreApplication::processEvents(QEventLoop::AllEvents); - QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); + QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete); } } ++++++ qmqtt-flavoured-install-names.patch ++++++ --- /var/tmp/diff_new_pack.ttDjQl/_old 2026-08-28 19:48:11.406670546 +0200 +++ /var/tmp/diff_new_pack.ttDjQl/_new 2026-08-28 19:48:11.417670931 +0200 @@ -15,11 +15,11 @@ openSUSE passes -DQMQTT_PACKAGE_NAME=qmqtt-qt5 / -DQMQTT_PACKAGE_NAME=qmqtt-qt6 for its two flavours. ---- qmqtt-1.0.7.orig/CMakeLists.txt -+++ qmqtt-1.0.7/CMakeLists.txt +--- qmqtt-1.0.8.orig/CMakeLists.txt ++++ qmqtt-1.0.8/CMakeLists.txt @@ -2,6 +2,12 @@ - project( qmqtt VERSION 1.0.7 ) + project( qmqtt VERSION 1.0.8 ) +# Name under which the library and its CMake package get installed. Defaults +# to the project name; a distribution that ships a Qt5 and a Qt6 build of QMQTT
