From patchwork Fri Apr 10 20:33:15 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Korsgaard X-Patchwork-Id: 460221 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id 442BB14012C for ; Sat, 11 Apr 2015 06:35:37 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="verification failed; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=WmcEKfJ0; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 788732FBFE; Fri, 10 Apr 2015 20:35:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gDLAlk9zFY4R; Fri, 10 Apr 2015 20:35:33 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 29F0F2FB90; Fri, 10 Apr 2015 20:35:33 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 902C81BF978 for ; Fri, 10 Apr 2015 20:35:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 8C8E389EAB for ; Fri, 10 Apr 2015 20:35:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sZ09plrrZukr for ; Fri, 10 Apr 2015 20:35:30 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by hemlock.osuosl.org (Postfix) with ESMTPS id 0CFE889E52 for ; Fri, 10 Apr 2015 20:35:30 +0000 (UTC) Received: by wiun10 with SMTP id n10so9829760wiu.1 for ; Fri, 10 Apr 2015 13:35:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id; bh=6+iqogKx6hSoNJEB4StcTxMZgcoMn58Y2V0TAkUJX4A=; b=WmcEKfJ06rPALT43YnHCIfi7azBF67mq6r+0hW++SIHU7tpbzPAiTpykW9SDCgrc99 FWDhyUl55C1U7HSh9j9Slx3mhxKNQJse4LbB+coGBepRZivkY9lvDkadQorLThOmsjD4 +8OrO1Gb4KJZNNTu5bG2LnG9iQhzaJEkf4NjMbJCQTY1I6qxvzFThwDSR9YetM/lUZ2H +qa20CZdF8wpbHOwqoMYSqOJI53BTd5717QLrka5CNDgDAhkgbscp+CtgbxIh9UTFqrb h8iQO2RxUTe0eQB6BoeiHOofbB3RCSBelEVb9U+WInLiRe0Vp3kij8nPvI5Iz+msVKI2 sF1A== X-Received: by 10.194.63.16 with SMTP id c16mr6189228wjs.117.1428698128587; Fri, 10 Apr 2015 13:35:28 -0700 (PDT) Received: from dell.be.48ers.dk (178-119-231-252.access.telenet.be. [178.119.231.252]) by mx.google.com with ESMTPSA id dz4sm1101099wib.17.2015.04.10.13.35.27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Apr 2015 13:35:27 -0700 (PDT) Received: from peko by dell.be.48ers.dk with local (Exim 4.84) (envelope-from ) id 1Ygfc5-0003TX-10; Fri, 10 Apr 2015 22:33:17 +0200 From: Peter Korsgaard To: buildroot@uclibc.org Date: Fri, 10 Apr 2015 22:33:15 +0200 Message-Id: <1428697995-13315-1-git-send-email-peter@korsgaard.com> X-Mailer: git-send-email 2.1.3 Subject: [Buildroot] [PATCH] package: add mosquitto X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Peter Korsgaard --- package/Config.in | 1 + package/mosquitto/Config.in | 19 +++++++++ package/mosquitto/S50mosquitto | 35 ++++++++++++++++ package/mosquitto/mosquitto.hash | 2 + package/mosquitto/mosquitto.mk | 91 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 148 insertions(+) create mode 100644 package/mosquitto/Config.in create mode 100644 package/mosquitto/S50mosquitto create mode 100644 package/mosquitto/mosquitto.hash create mode 100644 package/mosquitto/mosquitto.mk diff --git a/package/Config.in b/package/Config.in index de8e856..370a43e 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1177,6 +1177,7 @@ endif source "package/modem-manager/Config.in" source "package/mongoose/Config.in" source "package/mongrel2/Config.in" + source "package/mosquitto/Config.in" source "package/mrouted/Config.in" source "package/mtr/Config.in" source "package/nbd/Config.in" diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in new file mode 100644 index 0000000..8f579f8 --- /dev/null +++ b/package/mosquitto/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_MOSQUITTO + bool "mosquitto" + depends on BR2_USE_MMU # fork() + depends on BR2_INET_IPV6 + depends on !BR2_STATIC_LIBS # builds .so + help + Mosquitto is an open source message broker that implements + the MQ Telemetry Transport protocol versions 3.1 and + 3.1.1. MQTT provides a lightweight method of carrying out + messaging using a publish/subscribe model. This makes it + suitable for "machine to machine" messaging such as with low + power sensors or mobile devices such as phones, embedded + computers or microcontrollers like the Arduino. + + http://mosquitto.org/ + +comment "mosquitto needs a toolchain w/ IPv6, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_INET_IPV6 || BR2_STATIC_LIBS diff --git a/package/mosquitto/S50mosquitto b/package/mosquitto/S50mosquitto new file mode 100644 index 0000000..9f10cce --- /dev/null +++ b/package/mosquitto/S50mosquitto @@ -0,0 +1,35 @@ +#!/bin/sh + +start() { + echo -n "Starting mosquitto: " + start-stop-daemon -S -q -m -b -p /var/run/mosquitto.pid \ + --exec /usr/sbin/mosquitto \ + -- -c /etc/mosquitto/mosquitto.conf + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + echo -n "Stopping mosquitto: " + start-stop-daemon -K -q -p /var/run/mosquitto.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash new file mode 100644 index 0000000..2f38bdb --- /dev/null +++ b/package/mosquitto/mosquitto.hash @@ -0,0 +1,2 @@ +# Locally calculated after checking pgp signature +sha256 75a8b051c7859a2426ffc15bf45b44f79c8288395a325d791ba54e5df9af58a8 mosquitto-1.4.1.tar.gz diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk new file mode 100644 index 0000000..59a25f3 --- /dev/null +++ b/package/mosquitto/mosquitto.mk @@ -0,0 +1,91 @@ +################################################################################ +# +# mosquitto +# +################################################################################ + +MOSQUITTO_VERSION = 1.4.1 +MOSQUITTO_SITE = http://mosquitto.org/files/source +MOSQUITTO_LICENSE = EPLv1.0 or EDLv1.0 +MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10 +MOSQUITTO_INSTALL_STAGING = YES + +MOSQUITTO_MAKE_OPTS = \ + UNAME=Linux \ + STRIP=true \ + prefix=/usr \ + WITH_WRAP=no \ + WITH_DOCS=no + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +MOSQUITTO_MAKE_OPTS += WITH_THREADING=yes +else +MOSQUITTO_MAKE_OPTS += WITH_THREADING=no +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +MOSQUITTO_DEPENDENCIES += openssl +MOSQUITTO_MAKE_OPTS += WITH_TLS=yes +else +MOSQUITTO_MAKE_OPTS += WITH_TLS=no +endif + +ifeq ($(BR2_PACKAGE_C_ARES),y) +MOSQUITTO_DEPENDENCIES += c-ares +MOSQUITTO_MAKE_OPTS += WITH_SRV=yes +else +MOSQUITTO_MAKE_OPTS += WITH_SRV=no +endif + +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) +MOSQUITTO_DEPENDENCIES += util-linux +MOSQUITTO_MAKE_OPTS += WITH_UUID=yes +else +MOSQUITTO_MAKE_OPTS += WITH_UUID=no +endif + +ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) +MOSQUITTO_DEPENDENCIES += libwebsockets +MOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=yes +else +MOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=no +endif + +# C++ support is only used to create a wrapper library +ifneq ($(BR2_INSTALL_LIBSTDCPP),y) +define MOSQUITTO_DISABLE_CPP + $(SED) '/-C cpp/d' $(@D)/lib/Makefile +endef + +MOSQUITTO_POST_PATCH_HOOKS += MOSQUITTO_DISABLE_CPP +endif + +define MOSQUITTO_BUILD_CMDS + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MOSQUITTO_MAKE_OPTS) +endef + +define MOSQUITTO_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install +endef + +define MOSQUITTO_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install + rm -f $(TARGET_DIR)/etc/mosquitto/*.example + $(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \ + $(TARGET_DIR)/etc/mosquitto/mosquitto.conf +endef + +define MOSQUITTO_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \ + $(TARGET_DIR)/etc/init.d/S50mosquitto +endef + +define MOSQUITTO_USERS + mosquitto -1 nogroup -1 * - - - Mosquitto user +endef + +$(eval $(generic-package)) +