diff mbox series

[meta-oe,PATCHv2] paho-mqtt-cpp: Upgrade 1.4.1 -> 1.5.3

Message ID 20250620160619.2980748-1-leon.anavi@konsulko.com
State Under Review
Headers show
Series [meta-oe,PATCHv2] paho-mqtt-cpp: Upgrade 1.4.1 -> 1.5.3 | expand

Commit Message

Leon Anavi June 20, 2025, 4:06 p.m. UTC
Upgrade to release 1.5.3:

- Fix the bundled Paho C build foc C23 compilers by forcing C99
  compliance in CMake build
- Code base updated to to C++17
- Now a C++17 compiler is required to compile the library
- CMake minimum required version raised to v3.13
- Need a fairly recent CMake for C++17 support (>= v3.12)
- CMake v3.13 allows INSTALL(TARGETS) to work outside the current
  directory.
- Clients always created for v5 persistence format, making it
  universal for any connection.
- If the application specifies a version it is kept as a hint for
  default connections.
- The version for the connection should be specified in the connect
  options.
- The create_options now have all the parameters to create a client.
- Can specify Server URL, Client ID, and persistence in the create
  options.
- New client constructor that takes just the options object
- The client caches a const create_options struct with all the
  creation parameters
- Client creation internally simplified without breaking the public
  API
- Expanded the message constmer to be a full client "event" consumer.
- The events are for connected, connection_lost, disconnected,
  message arrived, and application shutdown.
- The application can get client state change notifications without
  resorting to callbacks.
- There's a new persistence_type (std::variant) that can hold any
  of the persistence specifiers (none, file directory, or user
  interface).
- Most of the class static constants are now constexpr.
- Removed the fake ReasonCode::MQTTPP_V3_CODE. Now all reason codes
  in a v3 connection are SUCCESS.
- The mqtt::exception checks if the 'rc' return code actually
  contains a reason code error, amd if so, sets it as the reason
  code.
- property can now report the typeid of its contained value.
- The properties list implements a const iterator
- Added a to_string() and operator<<() for reason codes.
- thread_queue is now closable.
- Added documentation for UNIX domain sockets coming in with Paho
  C v1.3.14
- Removed the manual implementation of make_unique<>()
- Added create_options assignment operators.
- Fixed some corner cases for topic_filter::matches()
- Cleaned up and fixed a number of example apps.
- Most apps now except a server URI from the command line
- 'data_publish' example uses C++17 std::filesystem for creating
  a file-based encrypted persistence for messages.
- Updated local CI (buildtst.sh) for current compilers and unit tests.
- Reorganized the source repository
- Completely reformat the sources and added a .clang-format file (a
  project master and a slightly-different one for headers).

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
 ...INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch | 53 -------------------
 ...tt-cpp_1.4.1.bb => paho-mqtt-cpp_1.5.3.bb} |  6 +--
 2 files changed, 1 insertion(+), 58 deletions(-)
 delete mode 100644 meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
 rename meta-oe/recipes-connectivity/paho-mqtt-cpp/{paho-mqtt-cpp_1.4.1.bb => paho-mqtt-cpp_1.5.3.bb} (72%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
deleted file mode 100644
index a881c83495..0000000000
--- a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
+++ /dev/null
@@ -1,53 +0,0 @@ 
-From 2a0dd2b300242230faa92cf8e26ccd70231bc9ef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 19 Mar 2022 23:37:58 -0700
-Subject: [PATCH] cmake: Use CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_BINDIR
-
-This ensures the install paths are not hardcoded.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
----
- cmake/CMakeLists.txt       | 4 ++--
- src/samples/CMakeLists.txt | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
---- a/cmake/CMakeLists.txt
-+++ b/cmake/CMakeLists.txt
-@@ -34,7 +34,7 @@ export(EXPORT ${package_name}
- )
- 
- install(EXPORT ${package_name}
--  DESTINATION lib/cmake/${package_name}
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}
-   FILE ${package_name}Targets.cmake
-   NAMESPACE ${package_name}::
- )
-@@ -42,5 +42,5 @@ install(EXPORT ${package_name}
- install(FILES
-   "${CMAKE_CURRENT_BINARY_DIR}/${package_name}Config.cmake"
-   "${CMAKE_CURRENT_BINARY_DIR}/${package_name}ConfigVersion.cmake"
--  DESTINATION lib/cmake/${package_name}
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}
- )
---- a/examples/CMakeLists.txt
-+++ b/examples/CMakeLists.txt
-@@ -65,7 +65,7 @@ endforeach()
- 
- ## install binaries
- install(TARGETS ${EXECUTABLES} EXPORT PahoMqttCppSamples
--    RUNTIME DESTINATION bin
-+    RUNTIME DESTINATION {CMAKE_INSTALL_BINDIR}
- )
- 
- ## Build the SSL/TLS samples, if selected
-@@ -80,7 +80,7 @@ if(PAHO_WITH_SSL)
-     endforeach()
- 
-     install(TARGETS ${SSL_EXECUTABLES} EXPORT PahoMqttCppSamples
--        RUNTIME DESTINATION bin
-+        RUNTIME DESTINATION {CMAKE_INSTALL_BINDIR}
-     )
- endif()
- 
diff --git a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.4.1.bb b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.5.3.bb
similarity index 72%
rename from meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.4.1.bb
rename to meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.5.3.bb
index 6f2efcda50..f4f01e69db 100644
--- a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.4.1.bb
+++ b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.5.3.bb
@@ -10,11 +10,7 @@  LIC_FILES_CHKSUM = " \
     file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
 "
 
-SRC_URI = "gitsm://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=v1.4.x \
-           file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch \
-           "
-SRCREV = "ac1b023eab789e829656144f12b248602c40e37b"
-PV .= "+git"
+SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master;tag=v${PV}"
 
 DEPENDS = "openssl paho-mqtt-c"