[packages] mosquitto: [PATCH] Add support for the mosquitto MQTT message broker, tools and library. Signed-off-by: Karl Palsson<karlp@tweak.net.au>

git-svn-id: svn://svn.openwrt.org/openwrt/packages@28001 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
loswillios 2011-08-15 14:54:15 +00:00
parent 2b9a72363a
commit bd511b4dcb
3 changed files with 121 additions and 0 deletions

98
net/mosquitto/Makefile Normal file
View File

@ -0,0 +1,98 @@
#
# Copyright (C) 2010 Jo-Philipp Wich <xm@subsignal.org>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=mosquitto
PKG_VERSION:=0.12
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://mosquitto.org/files/source/
PKG_MD5SUM:=e21ecb18dc8f9c3103fab95bbf8cffc7
include $(INCLUDE_DIR)/package.mk
define Package/mosquitto/default
SECTION:=net
CATEGORY:=Network
TITLE:=mosquitto - an MQTT message broker
URL:=http://www.mosquitto.org/
endef
define Package/mosquitto
$(Package/mosquitto/default)
endef
define Package/mosquitto/description
mosquitto is a message broker that supports v3.1 of the MQ Telemetry
Transport protocol. MQTT provides a lightweight method for
messaging using a publish/subscribe model.
endef
define Package/mosquitto-client
$(Package/mosquitto/default)
TITLE:= mosquitto - client tools
DEPENDS:= +libmosquitto
endef
define Package/mosquitto-client/description
Command line client tools for publishing messages to MQTT servers
and subscribing to topics.
endef
define Package/libmosquitto
$(Package/mosquitto/default)
SECTION:=libs
CATEGORY:=Libraries
TITLE:= mosquitto - client library
endef
define Package/libmosquitto/description
Library required for mosquitto's command line client tools, also for
use by any third party software that wants to communicate with a
mosquitto server.
Should be useable for communicating with any MQTT v3.1 compatible
server, such as IBM's RSMB, in addition to Mosquitto
endef
define Package/mosquitto/conffiles
/etc/mosquitto/mosquitto.conf
endef
define Package/mosquitto/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/mosquitto $(1)/usr/sbin/mosquitto
$(INSTALL_DIR) $(1)/etc/mosquitto
$(INSTALL_CONF) $(PKG_BUILD_DIR)/mosquitto.conf $(1)/etc/mosquitto/mosquitto.conf
endef
define Package/mosquitto-client/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_pub $(1)/usr/bin/mosquitto_pub
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_sub $(1)/usr/bin/mosquitto_sub
endef
# This installs files into ./staging_dir/. so that you can cross compile from the host
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/lib/mosquitto.h $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
# This should just get symlinked, but I can't work out the magic syntax :(
$(CP) $(PKG_BUILD_DIR)/lib/libmosquitto.so.0 $(1)/usr/lib/libmosquitto.so
endef
# This installs files on the target. Compare with Build/InstallDev
define Package/libmosquitto/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/libmosquitto.so.0 $(1)/usr/lib/libmosquitto.so.0
endef
$(eval $(call BuildPackage,mosquitto))
$(eval $(call BuildPackage,libmosquitto))
$(eval $(call BuildPackage,mosquitto-client))

View File

@ -0,0 +1,12 @@
diff -r 490c907277dc config.h
--- a/config.h Sat Jan 15 22:23:50 2011 +0000
+++ b/config.h Wed Jan 26 13:37:36 2011 +0000
@@ -15,7 +15,7 @@
/* Compile with memory tracking support? If disabled, mosquitto won't track
* heap memory usage nor export '$SYS/broker/heap/current size', but will use
* slightly less memory and CPU time. */
-#define WITH_MEMORY_TRACKING
+//#define WITH_MEMORY_TRACKING
/* Compile with the ability to upgrade from old style sqlite persistent
* databases to the new mosquitto format. This means a dependency on sqlite. It

View File

@ -0,0 +1,11 @@
diff -r bebd02e8bed4 -r 77b64fb10075 Makefile
--- a/Makefile Thu Jul 07 13:34:54 2011 +0100
+++ b/Makefile Thu Jul 07 16:50:05 2011 +0000
@@ -1,6 +1,6 @@
include config.mk
-DIRS=lib client src man
+DIRS=lib client src
DISTDIRS=man
.PHONY : all mosquitto clean reallyclean install uninstall dist sign copy