This adds basic support for the mosquitto package from https://mosquitto.org/ – a MQTT message broker, library, and two simple publisher/subscriber clients.
The package so far does the build, you can use the C/C++ libraries, and clients and broker binary can be installed to the target. There's no additional stuff like init script or systemd service file for the broker yet. Signed-off-by: Alexander Dahl <a...@thorsis.com> --- rules/mosquitto.in | 36 +++++++++++++++++++++ rules/mosquitto.make | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 rules/mosquitto.in create mode 100644 rules/mosquitto.make diff --git a/rules/mosquitto.in b/rules/mosquitto.in new file mode 100644 index 0000000000..d7eb813c17 --- /dev/null +++ b/rules/mosquitto.in @@ -0,0 +1,36 @@ +## SECTION=networking + +menuconfig MOSQUITTO + tristate + prompt "mosquitto " + select OPENSSL if MOSQUITTO_TLS + select C_ARES if MOSQUITTO_SRV + select LIBUUID if MOSQUITTO_UUID + help + Open source MQTT message broker, library, and client. + +if MOSQUITTO + +config MOSQUITTO_BROKER + bool + prompt "Broker" + +config MOSQUITTO_CLIENTS + bool + prompt "Clients" + +config MOSQUITTO_TLS + bool + prompt "TLS support" + +config MOSQUITTO_SRV + bool + prompt "SRV lookup support" + +config MOSQUITTO_UUID + bool + prompt "UUID as client id" + +endif + +# vim: ft=kconfig noet tw=72 diff --git a/rules/mosquitto.make b/rules/mosquitto.make new file mode 100644 index 0000000000..4372fc0a04 --- /dev/null +++ b/rules/mosquitto.make @@ -0,0 +1,88 @@ +# -*-makefile-*- +# +# Copyright (C) 2017 by Alexander Dahl <a...@thorsis.com> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_MOSQUITTO) += mosquitto + +# +# Paths and names +# +MOSQUITTO_VERSION := 1.4.14 +MOSQUITTO_MD5 := 6b0966e93f118bc71ad7b61600a6c2d3 +MOSQUITTO := mosquitto-$(MOSQUITTO_VERSION) +MOSQUITTO_SUFFIX := tar.gz +MOSQUITTO_URL := https://mosquitto.org/files/source/$(MOSQUITTO).$(MOSQUITTO_SUFFIX) +MOSQUITTO_SOURCE := $(SRCDIR)/$(MOSQUITTO).$(MOSQUITTO_SUFFIX) +MOSQUITTO_DIR := $(BUILDDIR)/$(MOSQUITTO) +# "Eclipse Distribution License - v 1.0" is in fact BSD-3-Clause +MOSQUITTO_LICENSE := EPL-1.0 AND BSD-3-Clause +MOSQUITTO_LICENSE_FILES := file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \ + file://edl-v10;md5=c09f121939f063aeb5235972be8c722c + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +MOSQUITTO_CONF_TOOL := NO +MOSQUITTO_MAKE_ENV := $(CROSS_ENV) +MOSQUITTO_MAKE_OPT := \ + UNAME=Linux \ + prefix=/usr \ + WITH_WRAP=no \ + WITH_TLS=$(call ptx/ifdef, PTXCONF_MOSQUITTO_TLS, yes, no) \ + WITH_TLS_PSK=$(call ptx/ifdef, PTXCONF_MOSQUITTO_TLS, yes, no) \ + WITH_THREADING=yes \ + WITH_BRIDGE=yes \ + WITH_PERSISTENCE=yes \ + WITH_MEMORY_TRACKING=yes \ + WITH_SYS_TREE=yes \ + WITH_SRV=$(call ptx/ifdef, PTXCONF_MOSQUITTO_SRV, yes, no) \ + WITH_UUID=$(call ptx/ifdef, PTXCONF_MOSQUITTO_UUID, yes, no) \ + WITH_WEBSOCKETS=no \ + WITH_EC=yes \ + WITH_DOCS=no \ + WITH_SOCKS=yes \ + WITH_ADNS=no +MOSQUITTO_INSTALL_OPT := \ + $(MOSQUITTO_MAKE_OPT) \ + install + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/mosquitto.targetinstall: + @$(call targetinfo) + + @$(call install_init, mosquitto) + @$(call install_fixup, mosquitto,PRIORITY,optional) + @$(call install_fixup, mosquitto,SECTION,base) + @$(call install_fixup, mosquitto,AUTHOR,"Alexander Dahl <a...@thorsis.com>") + @$(call install_fixup, mosquitto,DESCRIPTION,missing) + + @$(call install_lib, mosquitto, 0, 0, 0644, libmosquitto) + @$(call install_lib, mosquitto, 0, 0, 0644, libmosquittopp) + +ifdef PTXCONF_MOSQUITTO_CLIENTS + @$(call install_copy, mosquitto, 0, 0, 0755, -, /usr/bin/mosquitto_pub) + @$(call install_copy, mosquitto, 0, 0, 0755, -, /usr/bin/mosquitto_sub) +endif + +ifdef PTXCONF_MOSQUITTO_BROKER + @$(call install_copy, mosquitto, 0, 0, 0755, -, /usr/sbin/mosquitto) +endif + + @$(call install_finish, mosquitto) + + @$(call touch) + +# vim: ft=make noet ts=8 sw=8 -- 2.11.0 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de