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

Reply via email to