Message ID | 20250620104239.1709240-1-leon.anavi@konsulko.com |
---|---|
State | New |
Headers | show |
Series | [meta-oe] paho-mqtt-cpp: Upgrade 1.4.1 -> 1.5.3 | expand |
On 6/20/25 12:42, Leon Anavi via lists.openembedded.org wrote: I added 2 minor notes. > 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 81% > 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..0093936786 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,10 +10,8 @@ LIC_FILES_CHKSUM = " \ > file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ > " > > -SRC_URI = "gitsm://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=v1.4.x \ The protocol could be changed to git:// only I believe. The only submodule it seems to include is paho-mqtt-c, which is also added as a separate build-dependency below. The submodule is only used when the PAHO_WITH_MQTT_C option is enabled, which the recipe doesn't do. Also, if it is changed, a ;tag= tag would be good. > - file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch \ > - " > -SRCREV = "ac1b023eab789e829656144f12b248602c40e37b" > +SRC_URI = "gitsm://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master" > +SRCREV = "17ff3dc0270738adc710667be44847eebc038ae0" > PV .= "+git" > The PV extension isn't required with this update. > DEPENDS = "openssl paho-mqtt-c" >
Hi Gyorgy, On 20.06.25 г. 14:37 ч., Gyorgy Sarvari wrote: > On 6/20/25 12:42, Leon Anavi via lists.openembedded.org wrote: > > I added 2 minor notes. > >> 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 81% >> 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..0093936786 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,10 +10,8 @@ LIC_FILES_CHKSUM = " \ >> file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ >> " >> >> -SRC_URI = "gitsm://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=v1.4.x \ > The protocol could be changed to git:// only I believe. The only > submodule it seems to include is paho-mqtt-c, which is also added as a > separate build-dependency below. The submodule is only used when the > PAHO_WITH_MQTT_C option is enabled, which the recipe doesn't do. Also, > if it is changed, a ;tag= tag would be good. > >> - file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch \ >> - " >> -SRCREV = "ac1b023eab789e829656144f12b248602c40e37b" >> +SRC_URI = "gitsm://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master" >> +SRCREV = "17ff3dc0270738adc710667be44847eebc038ae0" >> PV .= "+git" >> > The PV extension isn't required with this update. Good point. Thank you. I submitted v2 of the patch with both modifications. Best regards, Leon > >> DEPENDS = "openssl paho-mqtt-c" >>
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 81% 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..0093936786 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,10 +10,8 @@ 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" +SRC_URI = "gitsm://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master" +SRCREV = "17ff3dc0270738adc710667be44847eebc038ae0" PV .= "+git" DEPENDS = "openssl paho-mqtt-c"
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, 2 insertions(+), 57 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} (81%)