Files
Yann E. MORIN 174a07ec22 package/mosquitto: add option to enable the $CONTROL/# topics tree
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2026-03-13 21:26:51 +01:00

145 lines
4.1 KiB
Plaintext

config BR2_PACKAGE_MOSQUITTO
bool "mosquitto"
depends on BR2_USE_MMU # lib peeks in malloc() internals; broker fork()s
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_CJSON
help
Eclipse Mosquitto is an open source (EPL/EDL licensed) message
broker that implements the MQTT protocol versions 5.0, 3.1.1
and 3.1. Mosquitto is lightweight and is suitable for use on
all devices from low power single board computers to full
servers.
The MQTT protocol provides a lightweight method of carrying
out messaging using a publish/subscribe model. This makes it
suitable for Internet of Things messaging such as with low
power sensors or mobile devices such as phones,
embedded computers or microcontrollers.
The Mosquitto project also provides a C library for
implementing MQTT clients, and the very popular mosquitto_pub
and mosquitto_sub command line MQTT clients.
https://mosquitto.org/
if BR2_PACKAGE_MOSQUITTO
choice
prompt "Websockets support"
help
Choose what websocket implementation to use. Note that
the mosquitto_{sub,pub,rr} clients (above) only support
websockets with the builtin implementation, while the
broker supports websockets with either libwebsockets
or the builtin implementation.
config BR2_PACKAGE_MOSQUITTO_WS_NONE
bool "none"
config BR2_PACKAGE_MOSQUITTO_WS_LIBWS
bool "with libwebsockets"
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_LIBWEBSOCKETS
select BR2_PACKAGE_LIBWEBSOCKETS_EXT_POLL
config BR2_PACKAGE_MOSQUITTO_WS_BUILTIN
bool "with builtin implementation"
select BR2_PACKAGE_OPENSSL
endchoice
config BR2_PACKAGE_MOSQUITTO_CLIENTS
bool "install clients"
default y # Backward compatibility
help
Install CLI tools to publish/subscribe to the broker:
mosquitto_pub
mosquitto_sub
mosquitto_rr
config BR2_PACKAGE_MOSQUITTO_APPS
bool "install apps"
default y if BR2_PACKAGE_MOSQUITTO_BROKER # Backward compatibility
depends on BR2_USE_WCHAR # libedit
# For mosquitto_ctrl shell feature, mandatorily enabled:
select BR2_PACKAGE_READLINE if !BR2_PACKAGE_LIBEDIT
help
Those apps can be used to interact with the broker:
mosquitto_db_dump
mosquitto_signal
Additionally, when openssl is enabled, the following apps are
also installed:
mosquitto_ctrl
mosquitto_passwd
config BR2_PACKAGE_MOSQUITTO_BROKER
bool "install the mosquitto broker"
default y
help
Build and install the mosquitto broker onto target.
if BR2_PACKAGE_MOSQUITTO_BROKER
config BR2_PACKAGE_MOSQUITTO_BROKER_HTTP_API
bool "http_api"
select BR2_PACKAGE_LIBMICROHTTPD
help
Add support for simple webserver as a listener to serve
some of the HTTP API.
config BR2_PACKAGE_MOSQUITTO_BROKER_BRIDGE
bool "bridge support"
default y # legacy
help
Include bridge support for connecting to other brokers
config BR2_PACKAGE_MOSQUITTO_BROKER_SYS
bool "$SYS tree support"
default y # legacy
help
Enable the $SYS/# tree structure, to export broker status as
MQTT topics.
config BR2_PACKAGE_MOSQUITTO_BROKER_CONTROL
bool "$CONTROL tree support"
default y # legacy
help
Enable the $CONTROL/# tree structure, to control the broker
via messages posted to, or retrieved from, MQTT topics.
config BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_STATIC_PASSWD
bool "static password file plugin"
default y
help
Add support for authentication based on static files. using
a plugin rather than the legacy builtin support.
config BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_STATIC_ACL
bool "static ACL file plugin"
default y
help
Add support for authorization (ACL) based on static files,
using a plugin rather than the legacy builtin support.
config BR2_PACKAGE_MOSQUITTO_BROKER_DYNAMIC_SECURITY_PLUGIN
bool "dynamic security plugin"
select BR2_PACKAGE_OPENSSL
help
Build and install the dynamic security plugin for
mosquitto broker onto target.
config BR2_PACKAGE_MOSQUITTO_BROKER_PLUGIN_PERSIST_SQLITE
bool "persist-sqlite plugin"
select BR2_PACKAGE_SQLITE
help
Add the persist-sqlite plugin, to persist the broker
state across restarts.
endif
endif
comment "mosquitto needs a toolchain w/ dynamic library"
depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS