Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195246/?format=api
{ "id": 2195246, "url": "http://patchwork.ozlabs.org/api/patches/2195246/?format=api", "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/3f65ba4b87d826d45fc905c4e30b674f6cf7bf06.1770740165.git.yann.morin@orange.com/", "project": { "id": 27, "url": "http://patchwork.ozlabs.org/api/projects/27/?format=api", "name": "Buildroot development", "link_name": "buildroot", "list_id": "buildroot.buildroot.org", "list_email": "buildroot@buildroot.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<3f65ba4b87d826d45fc905c4e30b674f6cf7bf06.1770740165.git.yann.morin@orange.com>", "list_archive_url": null, "date": "2026-02-10T16:16:10", "name": "[2/2] package/mosquitto: bump to version 2.1.2", "commit_ref": null, "pull_url": null, "state": "rfc", "archived": false, "hash": "71a930069d417164b6ec6a56d296fe8b354d6f26", "submitter": { "id": 69355, "url": "http://patchwork.ozlabs.org/api/people/69355/?format=api", "name": "Yann E. MORIN", "email": "yann.morin@orange.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/3f65ba4b87d826d45fc905c4e30b674f6cf7bf06.1770740165.git.yann.morin@orange.com/mbox/", "series": [ { "id": 491702, "url": "http://patchwork.ozlabs.org/api/series/491702/?format=api", "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=491702", "date": "2026-02-10T16:16:09", "name": "[1/2] package/cjson: add host variant", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491702/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195246/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195246/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<buildroot-bounces@buildroot.org>", "X-Original-To": [ "incoming-buildroot@patchwork.ozlabs.org", "buildroot@buildroot.org" ], "Delivered-To": [ "patchwork-incoming-buildroot@legolas.ozlabs.org", "buildroot@buildroot.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=affiwcDP;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)" ], "Received": [ "from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f9RWr3JdHz1xvb\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Wed, 11 Feb 2026 03:16:24 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 9DC0640662;\n\tTue, 10 Feb 2026 16:16:22 +0000 (UTC)", "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 6QCYGbHMsQNI; Tue, 10 Feb 2026 16:16:21 +0000 (UTC)", "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id EA1E840677;\n\tTue, 10 Feb 2026 16:16:20 +0000 (UTC)", "from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists1.osuosl.org (Postfix) with ESMTP id 92947219\n for <buildroot@buildroot.org>; Tue, 10 Feb 2026 16:16:19 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id 8057740677\n for <buildroot@buildroot.org>; Tue, 10 Feb 2026 16:16:19 +0000 (UTC)", "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id Nkhvme1_uyBm for <buildroot@buildroot.org>;\n Tue, 10 Feb 2026 16:16:17 +0000 (UTC)", "from smtp-out.orange.com (smtp-out.orange.com [80.12.126.237])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 36C9940662\n for <buildroot@buildroot.org>; Tue, 10 Feb 2026 16:16:16 +0000 (UTC)", "from unknown (HELO opfedv1rlp0c.nor.fr.ftgroup) ([x.x.x.x]) by\n smtp-out.orange.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384;\n 10 Feb 2026 17:16:14 +0100", "from unknown (HELO OPE16NORMBX607.corporate.adroot.infra.ftgroup)\n ([x.x.x.x]) by opfedv1rlp0c.nor.fr.ftgroup with\n ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2026 17:16:14 +0100", "from OPE16NORMBX305.corporate.adroot.infra.ftgroup [x.x.x.x] by\n OPE16NORMBX607.corporate.adroot.infra.ftgroup [x.x.x.x] with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.2.2562.35; Tue, 10 Feb 2026 17:16:13 +0100", "from yd-6wlzhs3 [x.x.x.x] by\n OPE16NORMBX305.corporate.adroot.infra.ftgroup\n [x.x.x.x] with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.61;\n Tue, 10 Feb 2026 17:16:12 +0100", "by yd-6wlzhs3 (sSMTP sendmail emulation);\n Tue, 10 Feb 2026 17:16:12 +0100" ], "X-Virus-Scanned": [ "amavis at osuosl.org", "amavis at osuosl.org" ], "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ", "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 smtp4.osuosl.org EA1E840677", "OpenDKIM Filter v2.11.0 smtp4.osuosl.org 36C9940662" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1770740181;\n\tbh=5biv5oyRE5u7TbtqD8+uGIhDLI5b7OAywsL5lxfBCnA=;\n\th=From:To:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=affiwcDPGTTPrGVro/MTtr0XuWeqac90hmbZ4a41R+kz8tIESDw6pij1J/3IAfUn1\n\t AQ+gyvAH2y8RzE5tZTxNrf1yga662GLyser885vr8AuNSrXNzn2iLjIfg1Bv+hUUXP\n\t Pm9XG11MsCWXfHvSN9v2fJMlA9EiA6tLxJIPyp/Svs8zWo1pYZPMpvnDylcM//8Ewy\n\t CRS181MSWVcV50sMpz2+T9URPDtrlVujdqGtUZYf3qT0oMJ6JQjLadLnHqgi7SOmZw\n\t 3t+qWLa4u21m3vYM3Tltd33qJyaTsrhJjNKfea7+KGoCvC6600xXLOTHB6cTfl9Lc9\n\t NREpZMVRBVq5g==", "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=80.12.126.237;\n helo=smtp-out.orange.com; envelope-from=yann.morin@orange.com;\n receiver=<UNKNOWN>", "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp4.osuosl.org 36C9940662", "X-CSE-ConnectionGUID": [ "8JuaZUBFTVOaLBtaXhUrEQ==", "+j8neX3uQB2dirq0/y5Gzg==" ], "X-CSE-MsgGUID": [ "RW8Q5dExSjCn+53OBFeKVw==", "e2J5JanSSkaCnRR7KaGjwg==" ], "X-IronPort-AV": "E=Sophos;i=\"6.21,283,1763420400\"; d=\"scan'208\";a=\"394425375\"", "From": "<yann.morin@orange.com>", "To": "<buildroot@buildroot.org>", "Date": "Tue, 10 Feb 2026 17:16:10 +0100", "Message-ID": "\n <3f65ba4b87d826d45fc905c4e30b674f6cf7bf06.1770740165.git.yann.morin@orange.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<cover.1770740165.git.yann.morin@orange.com>", "References": "<cover.1770740165.git.yann.morin@orange.com>", "MIME-Version": "1.0", "X-Originating-IP": "[10.115.27.51]", "X-ClientProxiedBy": "OPE16NORMBX601.corporate.adroot.infra.ftgroup\n (10.115.26.29) To OPE16NORMBX305.corporate.adroot.infra.ftgroup\n (10.115.27.10)", "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=orange.com; i=@orange.com; q=dns/txt; s=orange002;\n t=1770740177; x=1802276177;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=5M1vNfOU4lZ0kmV6PBV7d4NP14GnAO0IGofEgnAMeoM=;\n b=kgkJxbvQjaug5U43dPR15ga7rMUqErzY3YaPGvGh5fZhSEN4O4U3YbAJ\n W33n5n6L+Ugg17GgZe5rnRu1/CQWLSdj5en2Q3KHDkepKBngqWKR3VnrV\n TDwDnI1k68k4fXaULABrzNQAdLrcZrGh+dkXelnwpKCe8FAfB8+9+q5FJ\n rtVZ58gLl72x7f67NDreG7yQu3CfYhpKe+ZvsdS9eTS5apwhE70KZ/fwx\n 0p2dALWVk63Wn7MrRy4V2f0KTZrquDHZ4RRLMx8LZLrXU51izZcJZCbgO\n ndkOXoW1aFV1WCHpT+FryC/IOFcvyAdufyC+VlRyBCHHJBPsjBD1Vjii/\n w==;", "X-Mailman-Original-Authentication-Results": [ "smtp4.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=orange.com", "smtp4.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=orange.com header.i=@orange.com header.a=rsa-sha256\n header.s=orange002 header.b=kgkJxbvQ" ], "Subject": "[Buildroot] [PATCH 2/2] package/mosquitto: bump to version 2.1.2", "X-BeenThere": "buildroot@buildroot.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Discussion and development of buildroot <buildroot.buildroot.org>", "List-Unsubscribe": "<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>", "List-Archive": "<http://lists.buildroot.org/pipermail/buildroot/>", "List-Post": "<mailto:buildroot@buildroot.org>", "List-Help": "<mailto:buildroot-request@buildroot.org?subject=help>", "List-Subscribe": "<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>", "Cc": "yann.morin@orange.com, Titouan Christophe <titouan.christophe@mind.be>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "buildroot-bounces@buildroot.org", "Sender": "\"buildroot\" <buildroot-bounces@buildroot.org>" }, "content": "From: \"Yann E. MORIN\" <yann.morin@orange.com>\n\nVersion 2.1.x has introduced a cmake-based build, and upstream strongly\nrecomends using it over the legacy Makefiles, which will ultimately be\nretired.\n\nSo we do the switch, which cause quite some noise in the .mk file, but\nat the same time allows for a bit of cleanup in the build process, as we\ncan now use the cmake-package infra.\n\nMosquitto now wants to peek into the malloc() internals for memory\ntracking, and that only works on systems with an MMU (uClibc-ng does not\nexpose it for noMMU builds, as it's part of its malloc-standard\nimplementation).\n\nStatic-pnly builds are broken, even when only building the library. This\nseems beyond a simple repair, so just require shared libs now (since\nwe're requiring an MMU as well, requiring shared libs is not too much of\nan additional burden).\n\ncJSON is now a required dependency, used in common parts of the code\n(not just for the plugins.\n\nThere are a few options that we forcibly disable; they'll get addressed\nin followup patches.\n\nThere are stil la few build failures that are difficult to account for\n(exceprt):\n\n $ printf 'BR2_PACKAGE_MOSQUITTO=y\\n' >mosq.cfg\n $ ./utils/docker-run ./utils/test-pkg -d $(pwd)/run-tests -c mosq.cfg -p mosquitto\n br-arm-full-static [5/6]: FAILED\n => old uClibc-ng, would need __GNU_SOURCE (with dunder) to define\n getrandom(); no longer needed since uClibc-ng 1.0.50; would need\n openssl otherwise\n\n bootlin-aarch64-glibc-old [6/6]: FAILED\n => really old glibc, missing getrandom(); would need openssl\n\nDrop our existing patches, they've either been applied upstream, or are\nno longer needed. Add new patches to fix various build issues\n(submission upstream pending the signature of the CLA..,).\n\nThanks a lot to Titouan for providing his initial work on the update!\nSome of his findings ended up in this patch. 👍\n\nNote: by lack of a trusted path back to the PGP key that signed the\narchive, the comment was dropped, as checking a signature without a\ntrust-chain does not make much sense...\n\nCo-developped-by: Titouan Christophe <titouan.christophe@mind.be>\nSigned-off-by: Yann E. MORIN <yann.morin@orange.com>\nCc: Titouan Christophe <titouan.christophe@mind.be>\nCc: Peter Korsgaard <peter@korsgaard.com>\n\n---\n---\n ...-only-require-C-when-actually-needed.patch | 44 +++++\n ...1-Fix-CMake-builds-with-WITH_TLS-OFF.patch | 50 -----\n ...02-Add-configure-time-check-for-lanl.patch | 47 -----\n ...ker-properly-check-for-getaddrinfo_a.patch | 38 ++++\n .../0003-libcommon-check-for-getrandom.patch | 83 +++++++++\n package/mosquitto/Config.in | 15 +-\n package/mosquitto/mosquitto.hash | 7 +-\n package/mosquitto/mosquitto.mk | 173 +++++++++---------\n 8 files changed, 261 insertions(+), 196 deletions(-)\n create mode 100644 package/mosquitto/0001-CMakeList-only-require-C-when-actually-needed.patch\n delete mode 100644 package/mosquitto/0001-Fix-CMake-builds-with-WITH_TLS-OFF.patch\n delete mode 100644 package/mosquitto/0002-Add-configure-time-check-for-lanl.patch\n create mode 100644 package/mosquitto/0002-broker-properly-check-for-getaddrinfo_a.patch\n create mode 100644 package/mosquitto/0003-libcommon-check-for-getrandom.patch", "diff": "diff --git a/package/mosquitto/0001-CMakeList-only-require-C-when-actually-needed.patch b/package/mosquitto/0001-CMakeList-only-require-C-when-actually-needed.patch\nnew file mode 100644\nindex 0000000000..0029466c32\n--- /dev/null\n+++ b/package/mosquitto/0001-CMakeList-only-require-C-when-actually-needed.patch\n@@ -0,0 +1,44 @@\n+From 0e28d6c4a53a62ad9fa3f7d1fd97349d1084b054 Mon Sep 17 00:00:00 2001\n+Message-Id: <0e28d6c4a53a62ad9fa3f7d1fd97349d1084b054.1770735837.git.yann.morin@orange.com>\n+From: \"Yann E. MORIN\" <yann.morin@orange.com>\n+Date: Tue, 10 Feb 2026 07:13:01 +0100\n+Subject: [PATCH] CMakeList: only require C++ when actually needed\n+\n+So far, C++ is unconditionally required, efven when not\n+building the C++ wrapper library.\n+\n+Only require C++ when said library is actually enabled.\n+\n+Signed-off-by: Yann E. MORIN <yann.morin@orange.com>\n+Upstream: CLA under signature...\n+---\n+ CMakeLists.txt | 2 +-\n+ lib/cpp/CMakeLists.txt | 2 ++\n+ 2 files changed, 3 insertions(+), 1 deletion(-)\n+\n+diff --git a/CMakeLists.txt b/CMakeLists.txt\n+index 6c68bb9c..a4dbfdf6 100644\n+--- a/CMakeLists.txt\n++++ b/CMakeLists.txt\n+@@ -10,7 +10,7 @@ set (VERSION 2.1.2)\n+ project(mosquitto\n+ \tVERSION ${VERSION}\n+ \tDESCRIPTION \"Eclipse Mosquitto\"\n+-\tLANGUAGES C CXX\n++\tLANGUAGES C\n+ )\n+ \n+ set(CMAKE_C_STANDARD 99)\n+diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt\n+index 2007f7a6..6bbd92bf 100644\n+--- a/lib/cpp/CMakeLists.txt\n++++ b/lib/cpp/CMakeLists.txt\n+@@ -1,3 +1,5 @@\n++ENABLE_LANGUAGE(CXX)\n++\n+ set(CPP_SRC mosquittopp.cpp ../../include/mosquitto/libmosquittopp.h)\n+ \n+ add_library(mosquittopp SHARED\n+-- \n+2.34.1\n+\ndiff --git a/package/mosquitto/0001-Fix-CMake-builds-with-WITH_TLS-OFF.patch b/package/mosquitto/0001-Fix-CMake-builds-with-WITH_TLS-OFF.patch\ndeleted file mode 100644\nindex 9445148f44..0000000000\n--- a/package/mosquitto/0001-Fix-CMake-builds-with-WITH_TLS-OFF.patch\n+++ /dev/null\n@@ -1,50 +0,0 @@\n-From 1ecc94d7b4ff495afd7f32c42072cdf4ea5407aa Mon Sep 17 00:00:00 2001\n-From: Ben Marsh <ben.marsh555@googlemail.com>\n-Date: Mon, 21 Jul 2025 17:46:16 +0100\n-Subject: [PATCH] Fix CMake builds with WITH_TLS=OFF\n-\n-Recent CMake changes caused CMake builds with the WITH_TLS option set to OFF to fail. The OpenSSL package is only found (find_package()) if WITH_TLS is ON, but linking to OpenSSL for the broker and library is not guarded by WITH_TLS. The build therefore fails.\n-\n-Guard linking to OpenSSL, only linking if WITH_TLS is set.\n-\n-Upstream: https://github.com/eclipse-mosquitto/mosquitto/pull/3321\n-Signed-off-by: Scott Fan <fancp2007@gmail.com>\n----\n- lib/CMakeLists.txt | 4 +++-\n- src/CMakeLists.txt | 5 ++++-\n- 2 files changed, 7 insertions(+), 2 deletions(-)\n-\n-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt\n-index 21b61497..e6b8235b 100644\n---- a/lib/CMakeLists.txt\n-+++ b/lib/CMakeLists.txt\n-@@ -60,7 +60,9 @@ set(C_SRC\n- \tutil_mosq.c util_topic.c util_mosq.h\n- \twill_mosq.c will_mosq.h)\n- \n--set (LIBRARIES OpenSSL::SSL)\n-+if (WITH_TLS)\n-+\tset (LIBRARIES OpenSSL::SSL)\n-+endif()\n- \n- if (UNIX AND NOT APPLE AND NOT ANDROID)\n- \tfind_library(LIBRT rt)\n-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt\n-index d4bae7cd..6fd0ee53 100644\n---- a/src/CMakeLists.txt\n-+++ b/src/CMakeLists.txt\n-@@ -163,7 +163,10 @@ if (WITH_DLT)\n- set (MOSQ_LIBS ${MOSQ_LIBS} ${DLT_LIBRARIES})\n- endif (WITH_DLT)\n- \n--set (MOSQ_LIBS ${MOSQ_LIBS} OpenSSL::SSL)\n-+if (WITH_TLS)\n-+\tset (MOSQ_LIBS ${MOSQ_LIBS} OpenSSL::SSL)\n-+endif()\n-+\n- # Check for getaddrinfo_a\n- include(CheckLibraryExists)\n- check_library_exists(anl getaddrinfo_a \"\" HAVE_GETADDRINFO_A)\n--- \n-2.43.0\n-\ndiff --git a/package/mosquitto/0002-Add-configure-time-check-for-lanl.patch b/package/mosquitto/0002-Add-configure-time-check-for-lanl.patch\ndeleted file mode 100644\nindex b67164123a..0000000000\n--- a/package/mosquitto/0002-Add-configure-time-check-for-lanl.patch\n+++ /dev/null\n@@ -1,47 +0,0 @@\n-From 447a6aa8df882a67ca3df6f5e95be42e1463eaf0 Mon Sep 17 00:00:00 2001\n-From: Titouan Christophe <titouan.christophe@mind.be>\n-Date: Fri, 29 Aug 2025 19:47:34 +0200\n-Subject: [PATCH] Add configure-time check for -lanl\n-\n-Since glibc 2.34, libanl features have been integrated directly into libc [1].\n-For backward compatibility, some toolchains still provide a shim for\n-libanl as a separate .so, but new toolchains (for example for new archs\n-like loongarch) do not provide it anymore.\n-\n-In such a case, building mosquitto fails at link time with (see [2])\n- > cannot find -lanl: No such file or directory\n-\n-To fix this problem while maintaining compatibility with older toolchains,\n-check if a simple program that uses libanl can be compiled without -lanl,\n-and only add the linker flag otherwise.\n-\n-[1] https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html\n-[2] https://autobuild.buildroot.org/results/16223cd838876abc9b6f941f7dc20d23afa32c3b/build-end.log\n-\n-Upstream: https://github.com/eclipse-mosquitto/mosquitto/pull/3358\n-\n-Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>\n----\n- config.mk | 5 ++++-\n- 1 file changed, 4 insertions(+), 1 deletion(-)\n-\n-diff --git a/config.mk b/config.mk\n-index 34d5163f..cc7987c4 100644\n---- a/config.mk\n-+++ b/config.mk\n-@@ -318,8 +318,11 @@ ifeq ($(WITH_EC),yes)\n- endif\n- \n- ifeq ($(WITH_ADNS),yes)\n--\tBROKER_LDADD:=$(BROKER_LDADD) -lanl\n- \tBROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_ADNS\n-+\tNEED_LIBANL := $(shell printf '#include <stdlib.h>\\n#include <netdb.h>\\nint main(){return getaddrinfo_a(0, NULL, 0, NULL);}'| $(CC) -D_GNU_SOURCE -o /dev/null -x c - 2>/dev/null || echo YES)\n-+\tifeq ($(NEED_LIBANL),YES)\n-+\t\tBROKER_LDADD:=$(BROKER_LDADD) -lanl\n-+\tendif\n- endif\n- \n- ifeq ($(WITH_CONTROL),yes)\n--- \n-2.50.1\n-\ndiff --git a/package/mosquitto/0002-broker-properly-check-for-getaddrinfo_a.patch b/package/mosquitto/0002-broker-properly-check-for-getaddrinfo_a.patch\nnew file mode 100644\nindex 0000000000..4aef8c5ba7\n--- /dev/null\n+++ b/package/mosquitto/0002-broker-properly-check-for-getaddrinfo_a.patch\n@@ -0,0 +1,38 @@\n+From 876e2b791d2db118b0b0d36d315fa3480d7b8d8c Mon Sep 17 00:00:00 2001\n+Message-Id: <876e2b791d2db118b0b0d36d315fa3480d7b8d8c.1770735837.git.yann.morin@orange.com>\n+In-Reply-To: <0e28d6c4a53a62ad9fa3f7d1fd97349d1084b054.1770735837.git.yann.morin@orange.com>\n+References: <0e28d6c4a53a62ad9fa3f7d1fd97349d1084b054.1770735837.git.yann.morin@orange.com>\n+From: \"Yann E. MORIN\" <yann.morin@orange.com>\n+Date: Tue, 10 Feb 2026 09:21:11 +0100\n+Subject: [PATCH] broker: properly check for getaddrinfo_a()\n+\n+getaddrinfo_a( is protected by _GNU_SOURCE.\n+\n+This is proerly accounted for in the source doe, in lib/net_mosq.c, but\n+the check in the CmakeList is missing that define, which causes the\n+check to actually fail.\n+\n+Add that define when checking; this fixes builds on various C libraries,\n+like uClibc-ng, musl, or newer/older glibc.\n+\n+Signed-off-by: Yann E. MORIN <yann.morin@orange.com>\n+Upstream: CLA under signature...\n+---\n+ src/CMakeLists.txt | 1 +\n+ 1 file changed, 1 insertion(+)\n+\n+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt\n+index 8ac47d87..8576fea9 100644\n+--- a/src/CMakeLists.txt\n++++ b/src/CMakeLists.txt\n+@@ -184,6 +184,7 @@ endif()\n+ if(WITH_ADNS)\n+ \tcmake_push_check_state()\n+ \tset(ANL_CODE \"\n++\t\t#define _GNU_SOURCE\n+ \t\t#include <stdlib.h>\n+ \t\t#include <netdb.h>\n+ \t\tint main(){\n+-- \n+2.34.1\n+\ndiff --git a/package/mosquitto/0003-libcommon-check-for-getrandom.patch b/package/mosquitto/0003-libcommon-check-for-getrandom.patch\nnew file mode 100644\nindex 0000000000..e228f44585\n--- /dev/null\n+++ b/package/mosquitto/0003-libcommon-check-for-getrandom.patch\n@@ -0,0 +1,83 @@\n+From bfdbb6190a3ae2499ed4dd06d359b80c9a9997ea Mon Sep 17 00:00:00 2001\n+Message-Id: <bfdbb6190a3ae2499ed4dd06d359b80c9a9997ea.1770735837.git.yann.morin@orange.com>\n+In-Reply-To: <0e28d6c4a53a62ad9fa3f7d1fd97349d1084b054.1770735837.git.yann.morin@orange.com>\n+References: <0e28d6c4a53a62ad9fa3f7d1fd97349d1084b054.1770735837.git.yann.morin@orange.com>\n+From: \"Yann E. MORIN\" <yann.morin@orange.com>\n+Date: Tue, 10 Feb 2026 12:01:32 +0100\n+Subject: [PATCH] libcommon: check for getrandom()\n+\n+Not all C libraries are glibc, or impersonating it; for example, musl\n+does not pretend to be any version of glibc. Thus, building on musl\n+fails when openssl is disabled, because no random-providing function is\n+detected, although musl does provide getrandom().\n+\n+uClibc-ng on the other hand, can impersonate glibc, but availability of\n+getrandom() is not guatranteed there: getrandom() can be compiled out of\n+uClinbc-ng, or uClibc-ng can be too old to have it.\n+\n+Add a configure-time check that getrandom() is available, as a fallback\n+when TLS is not enabled (and thus openssl is not used), and when not on\n+Win32 (where getting random numbers is always possible, at least from a\n+build perspective).\n+\n+Signed-off-by: Yann E. MORIN <yann.morin@orange.com>\n+Upstream: CLA under signature...\n+---\n+ libcommon/CMakeLists.txt | 8 ++++++++\n+ libcommon/random_common.c | 11 ++---------\n+ 2 files changed, 10 insertions(+), 9 deletions(-)\n+\n+diff --git a/libcommon/CMakeLists.txt b/libcommon/CMakeLists.txt\n+index 8f3474a0..7b9118bc 100644\n+--- a/libcommon/CMakeLists.txt\n++++ b/libcommon/CMakeLists.txt\n+@@ -57,6 +57,14 @@ if (WITH_TLS)\n+ \t\tPUBLIC\n+ \t\t\tOpenSSL::SSL\n+ \t)\n++elseif(NOT WIN32)\n++\tinclude(CheckSymbolExists)\n++\tcheck_symbol_exists(getrandom \"sys/random.h\" GETRANDOM_FOUND)\n++\tif(GETRANDOM_FOUND)\n++\t\tadd_definitions(\"-DHAVE_GETRANDOM\")\n++\telse()\n++\t\tmessage(FATAL_ERROR \"C library does not provide getrandom(); enable WITH_TLS instead\")\n++\tendif()\n+ endif()\n+ \n+ if(INC_MEMTRACK)\n+diff --git a/libcommon/random_common.c b/libcommon/random_common.c\n+index 555bd801..2edf5471 100644\n+--- a/libcommon/random_common.c\n++++ b/libcommon/random_common.c\n+@@ -26,16 +26,11 @@ Contributors:\n+ # include <lmcons.h>\n+ #endif\n+ \n+-#if !defined(WITH_TLS) && defined(__linux__) && defined(__GLIBC__)\n+-# if __GLIBC_PREREQ(2, 25)\n+-# include <sys/random.h>\n+-# define HAVE_GETRANDOM 1\n+-# endif\n+-#endif\n+-\n+ #ifdef WITH_TLS\n+ # include <openssl/bn.h>\n+ # include <openssl/rand.h>\n++#elif defined(HAVE_GETRANDOM)\n++# include <sys/random.h>\n+ #endif\n+ \n+ #include \"mosquitto.h\"\n+@@ -65,8 +60,6 @@ int mosquitto_getrandom(void *bytes, int count)\n+ \t}\n+ \n+ \tCryptReleaseContext(provider, 0);\n+-#else\n+-# error \"No suitable random function found.\"\n+ #endif\n+ \treturn rc;\n+ }\n+-- \n+2.34.1\n+\ndiff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in\nindex 339df8fddb..2667b60f57 100644\n--- a/package/mosquitto/Config.in\n+++ b/package/mosquitto/Config.in\n@@ -1,5 +1,8 @@\n config BR2_PACKAGE_MOSQUITTO\n \tbool \"mosquitto\"\n+\tdepends on BR2_USE_MMU # lib peeks in malloc() internals; broker fork()s\n+\tdepends on !BR2_STATIC_LIBS\n+\tselect BR2_PACKAGE_CJSON\n \thelp\n \t Eclipse Mosquitto is an open source (EPL/EDL licensed) message\n \t broker that implements the MQTT protocol versions 5.0, 3.1.1\n@@ -19,12 +22,11 @@ config BR2_PACKAGE_MOSQUITTO\n \n \t https://mosquitto.org/\n \n+if BR2_PACKAGE_MOSQUITTO\n+\n config BR2_PACKAGE_MOSQUITTO_BROKER\n \tbool \"install the mosquitto broker\"\n \tdefault y\n-\tdepends on BR2_USE_MMU # fork()\n-\tdepends on !BR2_STATIC_LIBS # include <dlfcn.h>\n-\tdepends on BR2_PACKAGE_MOSQUITTO\n \tselect BR2_PACKAGE_LIBWEBSOCKETS_EXT_POLL if BR2_PACKAGE_LIBWEBSOCKETS\n \thelp\n \t Build and install the mosquitto broker onto target.\n@@ -32,13 +34,16 @@ config BR2_PACKAGE_MOSQUITTO_BROKER\n config BR2_PACKAGE_MOSQUITTO_BROKER_DYNAMIC_SECURITY_PLUGIN\n \tbool \"dynamic security plugin\"\n \tdepends on BR2_PACKAGE_MOSQUITTO_BROKER\n-\tselect BR2_PACKAGE_CJSON\n \tselect BR2_PACKAGE_OPENSSL\n \thelp\n \t Build and install the dynamic security plugin for\n \t mosquitto broker onto target.\n \n comment \"mosquitto broker needs a toolchain w/ dynamic library\"\n+\tdepends on BR2_STATIC_LIBS\n+\n+endif\n+\n+comment \"mosquitto needs a toolchain w/ dynamic library\"\n \tdepends on BR2_USE_MMU\n \tdepends on BR2_STATIC_LIBS\n-\tdepends on BR2_PACKAGE_MOSQUITTO\ndiff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash\nindex cf031f91e5..c0306161c7 100644\n--- a/package/mosquitto/mosquitto.hash\n+++ b/package/mosquitto/mosquitto.hash\n@@ -1,8 +1,7 @@\n-# Locally calculated after checking gpg signature\n-# from https://mosquitto.org/files/source/mosquitto-2.0.22.tar.gz.asc\n-sha256 2f752589ef7db40260b633fbdb536e9a04b446a315138d64a7ff3c14e2de6b68 mosquitto-2.0.22.tar.gz\n+# Locally calculated\n+sha256 fd905380691ac65ea5a93779e8214941829e3d6e038d5edff9eac5fd74cbed02 mosquitto-2.1.2.tar.gz\n \n # License files\n-sha256 d3c4ccace4e5d3cc89d34cf2a0bc85b8596bfc0a32b815d0d77f9b7c41b5350c LICENSE.txt\n+sha256 33d1851e40fddba7eff95bcc01d1a178a87340a1126893012892913d5e6fdfa6 LICENSE.txt\n sha256 8c349f80764d0648e645f41ef23772a70c995a0924b5235f735f4a3d09df127c epl-v20\n sha256 86fc4a3f97cb769c04e8da557036c1066eb8bb22b2d0a5dd31464990fe84047c edl-v10\ndiff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk\nindex 8539f28d08..1e4b4d99c4 100644\n--- a/package/mosquitto/mosquitto.mk\n+++ b/package/mosquitto/mosquitto.mk\n@@ -4,119 +4,96 @@\n #\n ################################################################################\n \n-MOSQUITTO_VERSION = 2.0.22\n+MOSQUITTO_VERSION = 2.1.2\n MOSQUITTO_SITE = https://mosquitto.org/files/source\n MOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0\n MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10\n MOSQUITTO_CPE_ID_VENDOR = eclipse\n MOSQUITTO_INSTALL_STAGING = YES\n \n-MOSQUITTO_MAKE_OPTS = \\\n-\tCLIENT_STATIC_LDADD=\"$(MOSQUITTO_STATIC_LIBS)\" \\\n-\tUNAME=Linux \\\n-\tSTRIP=true \\\n-\tprefix=/usr \\\n-\tWITH_WRAP=no \\\n-\tWITH_DOCS=no\n+MOSQUITTO_DEPENDENCIES = cjson\n \n-ifeq ($(BR2_SHARED_LIBS),y)\n-MOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=no\n-else\n-MOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=yes\n-endif\n-\n-ifeq ($(BR2_STATIC_LIBS),y)\n-MOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=no\n-else\n-MOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=yes\n-endif\n-\n-ifeq ($(BR2_PACKAGE_SYSTEMD),y)\n-MOSQUITTO_MAKE_OPTS += WITH_SYSTEMD=yes\n-MOSQUITTO_DEPENDENCIES += systemd\n-endif\n+MOSQUITTO_CONF_OPTS = \\\n+\t-DUSE_LIBWRAP=OFF \\\n+\t-DWITH_DOCS=OFF \\\n+\t-DWITH_TESTS=OFF \\\n+\t-DWITH_STATIC_LIBRARIES=OFF \\\n+\t-DWITH_BUNDLED_DEPS=ON \\\n+\t-DWITH_WEBSOCKETS_BUILTIN=OFF \\\n+\t-DWITH_CLIENTS=ON \\\n+\t-DWITH_HTTP_API=OFF \\\n+\t-DWITH_CTRL_SHELL=OFF\n \n # adns uses getaddrinfo_a\n ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)\n-MOSQUITTO_MAKE_OPTS += WITH_ADNS=yes\n+MOSQUITTO_CONF_OPTS += -DWITH_ADNS=ON\n else\n-MOSQUITTO_MAKE_OPTS += WITH_ADNS=no\n+MOSQUITTO_CONF_OPTS += -DWITH_ADNS=OFF\n endif\n \n # threaded API uses pthread_setname_np\n ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)\n-MOSQUITTO_MAKE_OPTS += WITH_THREADING=yes\n+MOSQUITTO_CONF_OPTS += -DWITH_THREADING=ON\n else\n-MOSQUITTO_MAKE_OPTS += WITH_THREADING=no\n+MOSQUITTO_CONF_OPTS += -DWITH_THREADING=OFF\n endif\n \n ifeq ($(BR2_PACKAGE_OPENSSL),y)\n MOSQUITTO_DEPENDENCIES += host-pkgconf openssl\n-MOSQUITTO_MAKE_OPTS += WITH_TLS=yes\n-MOSQUITTO_STATIC_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl`\n+MOSQUITTO_CONF_OPTS += \\\n+\t-DWITH_TLS=ON \\\n+\t-DWITH_TLS_PSK=ON\n+\n+ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y)\n+MOSQUITTO_DEPENDENCIES += libwebsockets\n+MOSQUITTO_CONF_OPTS += -DWITH_WEBSOCKETS=ON\n else\n-MOSQUITTO_MAKE_OPTS += WITH_TLS=no\n+MOSQUITTO_CONF_OPTS += -DWITH_WEBSOCKETS=OFF\n endif\n \n-ifeq ($(BR2_PACKAGE_CJSON),y)\n-MOSQUITTO_DEPENDENCIES += cjson\n-MOSQUITTO_MAKE_OPTS += WITH_CJSON=yes\n-MOSQUITTO_STATIC_LIBS += -lcjson\n-else\n-MOSQUITTO_MAKE_OPTS += WITH_CJSON=no\n+else # !OPENSSL\n+MOSQUITTO_CONF_OPTS += \\\n+\t-DWITH_TLS=OFF \\\n+\t-DWITH_TLS_PSK=OFF \\\n+\t-DWITH_WEBSOCKETS=OFF\n endif\n \n ifeq ($(BR2_PACKAGE_C_ARES),y)\n MOSQUITTO_DEPENDENCIES += c-ares\n-MOSQUITTO_MAKE_OPTS += WITH_SRV=yes\n+MOSQUITTO_CONF_OPTS += -DWITH_SRV=ON\n else\n-MOSQUITTO_MAKE_OPTS += WITH_SRV=no\n+MOSQUITTO_CONF_OPTS += -DWITH_SRV=OFF\n endif\n \n-ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y)\n-MOSQUITTO_DEPENDENCIES += libwebsockets\n-MOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=yes\n+ifeq ($(BR2_INSTALL_LIBSTDCPP),y)\n+MOSQUITTO_CONF_OPTS += -DWITH_LIB_CPP=ON\n else\n-MOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=no\n+MOSQUITTO_CONF_OPTS += -DWITH_LIB_CPP=OFF\n endif\n \n-# C++ support is only used to create a wrapper library\n-ifneq ($(BR2_INSTALL_LIBSTDCPP),y)\n-define MOSQUITTO_DISABLE_CPP\n-\t$(SED) '/-C cpp/d' $(@D)/lib/Makefile\n-endef\n-\n-MOSQUITTO_POST_PATCH_HOOKS += MOSQUITTO_DISABLE_CPP\n-endif\n-\n-MOSQUITTO_MAKE_DIRS = lib client\n ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y)\n-MOSQUITTO_MAKE_DIRS += src apps/mosquitto_ctrl apps/mosquitto_passwd\n-endif\n+\n+MOSQUITTO_CONF_OPTS += \\\n+\t-DWITH_BROKER=ON \\\n+\t-DWITH_APPS=ON \\\n+\t-DWITH_PLUGINS=ON \\\n+\t-DWITH_PLUGIN_ACL_FILE=ON \\\n+\t-DWITH_PLUGIN_PASSWORD_FILE=ON \\\n+\t-DWITH_PLUGIN_EXAMPLES=OFF \\\n+\t-DWITH_PLUGIN_PERSIST_SQLITE=OFF \\\n+\t-DWITH_PLUGIN_SPARKPLUG_AWARE=OFF\n \n ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER_DYNAMIC_SECURITY_PLUGIN),y)\n-MOSQUITTO_MAKE_DIRS += plugins/dynamic-security\n+MOSQUITTO_CONF_OPTS += -DWITH_PLUGIN_DYNAMIC_SECURITY=ON\n+else\n+MOSQUITTO_CONF_OPTS += -DWITH_PLUGIN_DYNAMIC_SECURITY=OFF\n endif\n \n-define MOSQUITTO_BUILD_CMDS\n-\t$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS=\"$(MOSQUITTO_MAKE_DIRS)\" \\\n-\t\t$(MOSQUITTO_MAKE_OPTS)\n-endef\n+ifeq ($(BR2_PACKAGE_SYSTEMD),y)\n+MOSQUITTO_CONF_OPTS += -DWITH_SYSTEMD=ON\n+MOSQUITTO_DEPENDENCIES += systemd\n+endif\n \n-define MOSQUITTO_INSTALL_STAGING_CMDS\n-\t$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS=\"$(MOSQUITTO_MAKE_DIRS)\" \\\n-\t\t$(MOSQUITTO_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install\n-endef\n-\n-define MOSQUITTO_INSTALL_TARGET_CMDS\n-\t$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS=\"$(MOSQUITTO_MAKE_DIRS)\" \\\n-\t\t$(MOSQUITTO_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install\n-\trm -f $(TARGET_DIR)/etc/mosquitto/*.example\n-\t$(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \\\n-\t\t$(TARGET_DIR)/etc/mosquitto/mosquitto.conf\n-endef\n-\n-ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y)\n define MOSQUITTO_INSTALL_INIT_SYSV\n \t$(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \\\n \t\t$(TARGET_DIR)/etc/init.d/S50mosquitto\n@@ -130,26 +107,42 @@ endef\n define MOSQUITTO_USERS\n \tmosquitto -1 mosquitto -1 * - - - Mosquitto user\n endef\n+\n+define MOSQUITTO_INSTALL_TARGET_CONF\n+\trm -f $(TARGET_DIR)/etc/mosquitto/*.example\n+\t$(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \\\n+\t\t$(TARGET_DIR)/etc/mosquitto/mosquitto.conf\n+endef\n+MOSQUITTO_POST_INSTALL_TARGET_HOOKS += MOSQUITTO_INSTALL_TARGET_CONF\n+\n+else # !BR2_PACKAGE_MOSQUITTO_BROKER\n+MOSQUITTO_CONF_OPTS += \\\n+\t-DWITH_BROKER=OFF \\\n+\t-DWITH_APPS=OFF \\\n+\t-DWITH_PLUGINS=OFF\n endif\n \n-HOST_MOSQUITTO_DEPENDENCIES = host-pkgconf host-openssl\n+HOST_MOSQUITTO_DEPENDENCIES = \\\n+\thost-cjson \\\n+\thost-openssl \\\n+\thost-pkgconf\n \n-HOST_MOSQUITTO_MAKE_OPTS = \\\n-\t$(HOST_CONFIGURE_OPTS) \\\n-\tUNAME=Linux \\\n-\tSTRIP=true \\\n-\tprefix=$(HOST_DIR) \\\n-\tWITH_WRAP=no \\\n-\tWITH_DOCS=no \\\n-\tWITH_TLS=yes\n-\n-define HOST_MOSQUITTO_BUILD_CMDS\n-\t$(MAKE) -C $(@D)/apps/mosquitto_passwd $(HOST_MOSQUITTO_MAKE_OPTS)\n-endef\n+HOST_MOSQUITTO_CONF_OPTS = \\\n+\t-DWITH_DOCS=OFF \\\n+\t-DWITH_BUNDLED_DEPS=ON \\\n+\t-DWITH_CLIENTS=OFF \\\n+\t-DWITH_BROKER=OFF \\\n+\t-DWITH_PLUGINS=OFF \\\n+\t-DWITH_TESTS=OFF \\\n+\t-DWITH_APPS=ON \\\n+\t-DWITH_TLS=ON\n \n+# Manually install just the one tool we need\n define HOST_MOSQUITTO_INSTALL_CMDS\n-\t$(MAKE) -C $(@D)/apps/mosquitto_passwd $(HOST_MOSQUITTO_MAKE_OPTS) install\n+\t$(INSTALL) -D -m 0755 \\\n+\t\t$(@D)/apps/mosquitto_passwd/mosquitto_passwd \\\n+\t\t$(HOST_DIR)/bin/mosquitto_passwd\n endef\n \n-$(eval $(generic-package))\n-$(eval $(host-generic-package))\n+$(eval $(cmake-package))\n+$(eval $(host-cmake-package))\n", "prefixes": [ "2/2" ] }