From patchwork Tue Oct 25 15:49:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Hunleth X-Patchwork-Id: 686558 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3t3HfC5LX2z9tkc for ; Wed, 26 Oct 2016 02:49:55 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=troodon-software-com.20150623.gappssmtp.com header.i=@troodon-software-com.20150623.gappssmtp.com header.b=ZQ8kNUXm; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 4417EC1B70; Tue, 25 Oct 2016 15:49:54 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fwtDpMMDdWuj; Tue, 25 Oct 2016 15:49:52 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 224CEC1B6A; Tue, 25 Oct 2016 15:49:52 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 3E3281C1EE3 for ; Tue, 25 Oct 2016 15:49:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 304678A356 for ; Tue, 25 Oct 2016 15:49:51 +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 U8S7KpqNANsl for ; Tue, 25 Oct 2016 15:49:50 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by hemlock.osuosl.org (Postfix) with ESMTPS id 69B8E8A339 for ; Tue, 25 Oct 2016 15:49:50 +0000 (UTC) Received: by mail-qt0-f193.google.com with SMTP id s49so1111354qta.1 for ; Tue, 25 Oct 2016 08:49:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=troodon-software-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=YeSPnAARY0CXA/XLmCAckgkNxFtXghKg4iOM5m0O/cQ=; b=ZQ8kNUXmzbGCjo1FL0c5Zxq9OQLXmLw1TkOyBACDJAoGETn5phAH8CoJFgCvwicC5C iitsizX5ME/B5ZZmkgKNhDg4OJxp1EavoSu7SRPB4HQkLqFe7uwV32b32fB2bjf0AzvU RuA9LcvsLf/Wcs6oeTv1eD8pEQAoNfeOVps8sg3poqoI0bswJQnnL+rVJCNPxrql9iYv RDohD0rsdxf3jnY+/CVBoq7GC0MafUA4yhvbkYIY3Jd2if/a9lsRxIq/T/brS1IMDsmZ JbFT+JK+/jRrJrysDMm8V3R0yZbimzd40uL7aqin+68E2QrqqGH+XmRSWCVQDma6zzDq cSyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=YeSPnAARY0CXA/XLmCAckgkNxFtXghKg4iOM5m0O/cQ=; b=gEqDbBP1+phjLvKnfrAwZmJJHXsxP+OYNGX8LmIu7Zkp/tzmvJytAuIwE/I6lScaIm U2BkG1pzlAVwVG5e6Vk8ffzAOqAhFMC/ib8OMVo4wmNMV39irE28Ue3NWbKwHPgeXFEV pFN+ZUoJYIO7nSZgRE6ajGWdzgYR0FNNqPYWiK36rnJQMUD7hkzQThA5jqDF0vFmY4WO b+PohnpEKHob1xUDeVhdCX3t2bxkTufvGr7fjxdnPYbzsenyPKsJxiIcYVyYSH2u7T9l YWw/u4eTkK4+Zhso8J6to3K3ZFjyydpUJvqjEI1I8BOAGNVr9bTKb6d1U+YptLjg+wtK AWhA== X-Gm-Message-State: ABUngvcMn8rcSGy5SObseidbh69P3oRVG+NNF5dLVpIgUPyNVvY8adp3LjlxmHN1B4A/VA== X-Received: by 10.237.55.131 with SMTP id j3mr21674569qtb.100.1477410589175; Tue, 25 Oct 2016 08:49:49 -0700 (PDT) Received: from halfmarathon.home.hunleth.com (pool-96-255-73-68.washdc.fios.verizon.net. [96.255.73.68]) by smtp.gmail.com with ESMTPSA id l57sm11328818qta.8.2016.10.25.08.49.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 25 Oct 2016 08:49:48 -0700 (PDT) From: Frank Hunleth To: buildroot@buildroot.org Date: Tue, 25 Oct 2016 11:49:07 -0400 Message-Id: <1477410548-9977-1-git-send-email-fhunleth@troodon-software.com> X-Mailer: git-send-email 2.7.4 Subject: [Buildroot] [PATCH v2 1/2] rabbitmq-server: new package 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: Frank Hunleth --- Changes v1 -> v2: - Add symlinks to rabbitmq control programs so that they show up in /usr/sbin (per Peter Korsgaard) - Added init scripts to automatically start rabbitmq-server (per Peter) - In the license details, list RabbitMQ's license first (per Peter) - Add "select BR2_PACKAGE_OPENSSL" after testing in a minimal configuration. package/Config.in | 1 + package/rabbitmq-server/Config.in | 13 ++++++ package/rabbitmq-server/S50rabbitmq-server | 36 ++++++++++++++++ package/rabbitmq-server/rabbitmq-server.hash | 2 + package/rabbitmq-server/rabbitmq-server.mk | 55 +++++++++++++++++++++++++ package/rabbitmq-server/rabbitmq-server.service | 15 +++++++ 6 files changed, 122 insertions(+) create mode 100644 package/rabbitmq-server/Config.in create mode 100755 package/rabbitmq-server/S50rabbitmq-server create mode 100644 package/rabbitmq-server/rabbitmq-server.hash create mode 100644 package/rabbitmq-server/rabbitmq-server.mk create mode 100644 package/rabbitmq-server/rabbitmq-server.service -- 2.7.4 diff --git a/package/Config.in b/package/Config.in index 9399f63..e8ec723 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1576,6 +1576,7 @@ endif source "package/pure-ftpd/Config.in" source "package/putty/Config.in" source "package/quagga/Config.in" + source "package/rabbitmq-server/Config.in" source "package/radvd/Config.in" source "package/rp-pppoe/Config.in" source "package/rpcbind/Config.in" diff --git a/package/rabbitmq-server/Config.in b/package/rabbitmq-server/Config.in new file mode 100644 index 0000000..6a323af --- /dev/null +++ b/package/rabbitmq-server/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_RABBITMQ_SERVER + bool "rabbitmq-server" + depends on BR2_PACKAGE_ERLANG + select BR2_PACKAGE_LIBXSLT + select BR2_PACKAGE_OPENSSL # Required to build Erlang's crypto and ssl + # applications + help + High-performance AMQP-compliant message broker written in Erlang. + + http://www.rabbitmq.com + +comment "rabbitmq-server needs erlang" + depends on !BR2_PACKAGE_ERLANG diff --git a/package/rabbitmq-server/S50rabbitmq-server b/package/rabbitmq-server/S50rabbitmq-server new file mode 100755 index 0000000..1a34a61 --- /dev/null +++ b/package/rabbitmq-server/S50rabbitmq-server @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Start/stop rabbitmq-server +# + +INSTALLUSER=rabbitmq +RUNDIR=/var/run/rabbitmq + +# Create RUNDIR. +mkrundir() { + install -d -o "$INSTALLUSER" -g "$INSTALLUSER" "$RUNDIR" +} + +case "$1" in + start) + mkrundir || exit 1 + printf "Starting rabbitmq-server: " + su -c "/usr/sbin/rabbitmq-server -detached" - "$INSTALLUSER" 2> /dev/null + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + stop) + printf "Stopping rabbitmq-server: " + su -c "/usr/sbin/rabbitmqctl stop" - "$INSTALLUSER" + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + restart|reload) + "$0" stop || true + "$0" start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? + diff --git a/package/rabbitmq-server/rabbitmq-server.hash b/package/rabbitmq-server/rabbitmq-server.hash new file mode 100644 index 0000000..be21477 --- /dev/null +++ b/package/rabbitmq-server/rabbitmq-server.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 c696134e863f99191a301288c12d69ff00b7e648107ee52c8686ae047dde1bee rabbitmq-server-3.6.1.tar.xz diff --git a/package/rabbitmq-server/rabbitmq-server.mk b/package/rabbitmq-server/rabbitmq-server.mk new file mode 100644 index 0000000..8da5cdd --- /dev/null +++ b/package/rabbitmq-server/rabbitmq-server.mk @@ -0,0 +1,55 @@ +############################################################# +# +# rabbitmq-server +# +############################################################# + +RABBITMQ_SERVER_VERSION = 3.6.1 +RABBITMQ_SERVER_SITE = http://www.rabbitmq.com/releases/rabbitmq-server/v$(RABBITMQ_SERVER_VERSION) +RABBITMQ_SERVER_SOURCE = rabbitmq-server-$(RABBITMQ_SERVER_VERSION).tar.xz +RABBITMQ_SERVER_LICENSE = MPLv1.1, Apache-2.0, BSD-2c, EPL, MIT, MPLv2.0 +RABBITMQ_SERVER_LICENSE_FILES = LICENSE-MPL-RabbitMQ \ + LICENSE LICENSE-APACHE2-ExplorerCanvas \ + LICENSE-APL2-Rebar LICENSE-APL2-Stomp-Websocket \ + LICENSE-BSD-base64js LICENSE-BSD-glMatrix \ + LICENSE-EPL-OTP LICENSE-MIT-EJS10 \ + LICENSE-MIT-Flot LICENSE-MIT-jQuery164 \ + LICENSE-MIT-Mochi LICENSE-MIT-Mochiweb \ + LICENSE-MIT-Sammy060 LICENSE-MIT-SockJS \ + LICENSE-MPL2 +RABBITMQ_SERVER_DEPENDS = erlang libxslt +RABBITMQ_SERVER_TARGET_BINS = rabbitmq-plugins rabbitmq-server rabbitmqctl rabbitmq-env rabbitmq-defaults + +define RABBITMQ_SERVER_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define RABBITMQ_SERVER_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(@D) install + + for bin in $(RABBITMQ_SERVER_TARGET_BINS); do \ + ln -sf /usr/lib/erlang/lib/rabbitmq_server-$(RABBITMQ_SERVER_VERSION)/sbin/$$bin \ + $(TARGET_DIR)/usr/sbin/$$bin; \ + done +endef + +define RABBITMQ_SERVER_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 package/rabbitmq-server/rabbitmq-server.service \ + $(TARGET_DIR)/usr/lib/systemd/system/rabbitmq-server.service + + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + + ln -fs ../../../../usr/lib/systemd/system/rabbitmq-server.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rabbitmq-server.service +endef + +define RABBITMQ_SERVER_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/rabbitmq-server/S50rabbitmq-server \ + $(TARGET_DIR)/etc/init.d/S50rabbitmq-server +endef + +define RABBITMQ_SERVER_USERS + rabbitmq -1 rabbitmq -1 * /var/lib/rabbitmq /bin/sh - rabbitmq-server daemon +endef + +$(eval $(generic-package)) diff --git a/package/rabbitmq-server/rabbitmq-server.service b/package/rabbitmq-server/rabbitmq-server.service new file mode 100644 index 0000000..268b4bd --- /dev/null +++ b/package/rabbitmq-server/rabbitmq-server.service @@ -0,0 +1,15 @@ +[Unit] +Description=RabbitMQ Messaging Server +After=syslog.target network.target + +[Service] +Type=simple +User=rabbitmq +Group=rabbitmq +Environment=HOME=/var/lib/rabbitmq +WorkingDirectory=/var/lib/rabbitmq +ExecStart=/usr/sbin/rabbitmq-server +ExecStop=/usr/sbin/rabbitmqctl stop + +[Install] +WantedBy=multi-user.target