From 2893e60ccbd1eeaa77175e96e87dea126f55de2a Mon Sep 17 00:00:00 2001 From: Andrej Kozemcak Date: Fri, 20 Mar 2026 09:32:57 +0100 Subject: mosquitto: upgrade 2.0.22 -> 2.1.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit License-Update: Change license to EPL-2.0 OR BSD-3-Clause Clarify license in LICENSE.txt: https://github.com/eclipse-mosquitto/mosquitto/commit/f466e454e016825220e8494bd6264a5736ed1112 Updated NOTICE.md: https://github.com/eclipse-mosquitto/mosquitto/commit/827c803cb8d6376891548b856a1faa3f0ab5 Removed patch included in this release Update PACKAGECONFIG/cmake options: - manpages: -DDOCUMENTATION → -DWITH_DOCS (the CMake option was renamed in 2.1.x) - ssl: removed -DWITH_EC=ON/-DWITH_EC=OFF; the WITH_EC option was dropped in 2.1.x since Elliptic Curve support is now always included with TLS - websockets — adapt websockets to properly use with picohttpparser - persist-sqlite - for persistence support in the broker, have sqlite3 dependency - ctrl-shell: mosquitto_ctrl interactive shell, have libedit dependency Disable `DWITH_ADNS` option because it required Argon2, which is not part of meta-oe layer Disable `DWITH_TESTS` option because mosquitto start using GoogleTest and we hit a common Yocto + CMake + GoogleTest problem Improve shipped package to modern version Changelog: v2.1.2: https://github.com/eclipse-mosquitto/mosquitto/blob/v2.1.2/ChangeLog.txtgT Broker: - Forbid running with `persistence true` and with a persistence plugin at the same time. Build: - Build fixes for OpenBSD. Closes #3474. - Add missing libedit to docker builds. Closes #3476. - Fix static/shared linking of libwebsockets under cmake. v2.1.1: https://github.com/eclipse-mosquitto/mosquitto/blob/v2.1.1/ChangeLog.txt v2.1.0: https://github.com/eclipse-mosquitto/mosquitto/blob/v2.1.0/ChangeLog.txt Signed-off-by: Andrej Kozemcak Signed-off-by: Khem Raj --- .../mosquitto/files/2895.patch | 38 --------- .../mosquitto/mosquitto_2.0.22.bb | 90 --------------------- .../mosquitto/mosquitto_2.1.2.bb | 94 ++++++++++++++++++++++ 3 files changed, 94 insertions(+), 128 deletions(-) delete mode 100644 meta-networking/recipes-connectivity/mosquitto/files/2895.patch delete mode 100644 meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.22.bb create mode 100644 meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb diff --git a/meta-networking/recipes-connectivity/mosquitto/files/2895.patch b/meta-networking/recipes-connectivity/mosquitto/files/2895.patch deleted file mode 100644 index d9432e749e..0000000000 --- a/meta-networking/recipes-connectivity/mosquitto/files/2895.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Joachim Zobel -Date: Wed, 13 Sep 2023 10:05:43 +0200 -Subject: [PATCH] Mosquitto now waits for network-online when starting - (Closes: #1036450) - -See: https://github.com/eclipse/mosquitto/issues/2878 ---- -Upstream-Status: Submitted [https://github.com/eclipse-mosquitto/mosquitto/pull/2895] - - service/systemd/mosquitto.service.simple | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/service/systemd/mosquitto.service.simple -+++ b/service/systemd/mosquitto.service.simple -@@ -1,8 +1,8 @@ - [Unit] - Description=Mosquitto MQTT Broker - Documentation=man:mosquitto.conf(5) man:mosquitto(8) --After=network.target --Wants=network.target -+After=network-online.target -+Wants=network-online.target - - [Service] - ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf ---- a/service/systemd/mosquitto.service.notify -+++ b/service/systemd/mosquitto.service.notify -@@ -1,8 +1,8 @@ - [Unit] - Description=Mosquitto MQTT Broker - Documentation=man:mosquitto.conf(5) man:mosquitto(8) --After=network.target --Wants=network.target -+After=network-online.target -+Wants=network-online.target - - [Service] - Type=notify diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.22.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.22.bb deleted file mode 100644 index 1bdf54eea1..0000000000 --- a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.22.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Open source MQTT implementation" -DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ -that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ -5, providing both an MQTT broker and several command-line clients. MQTT \ -provides a lightweight method of carrying out messaging using a \ -publish/subscribe model. " -HOMEPAGE = "http://mosquitto.org/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \ - file://edl-v10;md5=9f6accb1afcb570f8be65039e2fcd49e \ - file://epl-v20;md5=2dd765ca47a05140be15ebafddbeadfe \ - file://NOTICE.md;md5=a7a91b4754c6f7995020d1b49bc829c6 \ -" -DEPENDS = "uthash cjson" - -SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ - file://mosquitto.init \ - file://2895.patch \ -" - -SRC_URI[sha256sum] = "2f752589ef7db40260b633fbdb536e9a04b446a315138d64a7ff3c14e2de6b68" - -inherit systemd update-rc.d useradd cmake pkgconfig - -PACKAGECONFIG ??= "ssl websockets \ - ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ - " - -PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" -PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl" -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" -PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" -PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" - -EXTRA_OECMAKE = " \ - -DWITH_BUNDLED_DEPS=OFF \ - -DWITH_ADNS=ON \ -" - -do_install:append() { - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service - - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${UNPACKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto - sed -i -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${sysconfdir}/init.d/mosquitto -} - -PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" - -PACKAGE_BEFORE_PN = "${PN}-examples" - -FILES:${PN} = "${sbindir}/mosquitto \ - ${bindir}/mosquitto_passwd \ - ${bindir}/mosquitto_ctrl \ - ${libdir}/mosquitto_dynamic_security.so \ - ${sysconfdir}/mosquitto \ - ${sysconfdir}/init.d \ - ${systemd_unitdir}/system/mosquitto.service \ -" - -CONFFILES:${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" - -FILES:libmosquitto1 = "${libdir}/libmosquitto.so.*" - -FILES:libmosquittopp1 = "${libdir}/libmosquittopp.so.*" - -FILES:${PN}-clients = "${bindir}/mosquitto_pub \ - ${bindir}/mosquitto_sub \ - ${bindir}/mosquitto_rr \ -" - -FILES:${PN}-examples = "${sysconfdir}/mosquitto/*.example" - -SYSTEMD_SERVICE:${PN} = "mosquitto.service" - -INITSCRIPT_NAME = "mosquitto" -INITSCRIPT_PARAMS = "defaults 30" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false \ - --user-group mosquitto" - -BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb new file mode 100644 index 0000000000..6a6e554453 --- /dev/null +++ b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb @@ -0,0 +1,94 @@ +SUMMARY = "Open source MQTT implementation" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ +that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ +5, providing both an MQTT broker and several command-line clients. MQTT \ +provides a lightweight method of carrying out messaging using a \ +publish/subscribe model. " +HOMEPAGE = "http://mosquitto.org/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f6d64fd27a4071b14ef656a0e8a4f4cf \ + file://edl-v10;md5=9f6accb1afcb570f8be65039e2fcd49e \ + file://epl-v20;md5=2dd765ca47a05140be15ebafddbeadfe \ + file://NOTICE.md;md5=611234becddb76dca161d4ffce7ab420 \ +" +DEPENDS = "uthash cjson" + +SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ + file://mosquitto.init \ +" + +SRC_URI[sha256sum] = "fd905380691ac65ea5a93779e8214941829e3d6e038d5edff9eac5fd74cbed02" + +inherit systemd update-rc.d useradd cmake pkgconfig + +PACKAGECONFIG ??= "ssl websockets \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[manpages] = "-DWITH_DOCS=ON,-DWITH_DOCS=OFF,libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" +PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF,openssl" +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" +PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON -DWITH_WEBSOCKETS_BUILTIN=OFF,-DWITH_WEBSOCKETS=OFF,libwebsockets" +PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" +PACKAGECONFIG[http-api] = "-DWITH_HTTP_API=ON,-DWITH_HTTP_API=OFF,libmicrohttpd" +PACKAGECONFIG[persist-sqlite] = "-DWITH_PLUGIN_PERSIST_SQLITE=ON,-DWITH_PLUGIN_PERSIST_SQLITE=OFF,sqlite3" +PACKAGECONFIG[ctrl-shell] = "-DWITH_CTRL_SHELL=ON,-DWITH_CTRL_SHELL=OFF,libedit" + +# Disable building/running tests to avoid GoogleTest discovery executing target binaries +# during cross-compilation (Yocto). This prevents CMake from calling gtest_discover_tests(). +# See: Yocto + GTest cross-compile issues and gtest_discover_tests execution failures. +# (Refs: SO example and googletest issue) +EXTRA_OECMAKE = " \ + -DWITH_BUNDLED_DEPS=OFF \ + -DWITH_ADNS=OFF \ + -DWITH_TESTS=OFF \ +" + +do_install:append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service + + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${UNPACKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${sysconfdir}/init.d/mosquitto +} + +PACKAGE_BEFORE_PN = "libmosquitto1 libmosquittopp1 ${PN}-clients ${PN}-examples" + +FILES:${PN} += " \ + ${libdir}/mosquitto_acl_file.so \ + ${libdir}/mosquitto_dynamic_security.so \ + ${libdir}/mosquitto_password_file.so \ + ${libdir}/mosquitto_sparkplug_aware.so \ + ${systemd_unitdir}/system/mosquitto.service \ +" + +CONFFILES:${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" + +FILES:libmosquitto1 = "${libdir}/libmosquitto.so.*" + +FILES:libmosquittopp1 = "${libdir}/libmosquittopp.so.*" + +FILES:${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ + ${bindir}/mosquitto_rr \ +" + +FILES:${PN}-examples = "${sysconfdir}/mosquitto/*.example" + +SYSTEMD_SERVICE:${PN} = "mosquitto.service" + +INITSCRIPT_NAME = "mosquitto" +INITSCRIPT_PARAMS = "defaults 30" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false \ + --user-group mosquitto" + +BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf