OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: r...@openpkg.org Module: openpkg-src Date: 20-Sep-2009 21:36:55 Branch: HEAD Handle: 2009092020365500 Added files: openpkg-src/rabbitmq rabbitmq.conf rabbitmq.spec rc.rabbitmq Log: new package: rabbitmq 1.6.0 (AMQP Server) Summary: Revision Changes Path 1.1 +11 -0 openpkg-src/rabbitmq/rabbitmq.conf 1.1 +156 -0 openpkg-src/rabbitmq/rabbitmq.spec 1.1 +64 -0 openpkg-src/rabbitmq/rc.rabbitmq ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/rabbitmq/rabbitmq.conf ============================================================================ $ cvs diff -u -r0 -r1.1 rabbitmq.conf --- /dev/null 2009-09-20 21:36:52 +0200 +++ rabbitmq.conf 2009-09-20 21:36:55 +0200 @@ -0,0 +1,11 @@ +## +## rabbitmq.conf -- RabbitMQ server configuration +## + +RABBITMQ_NODENAME="example" +RABBITMQ_NODE_IP_ADDRESS="127.0.0.1" +RABBITMQ_NODE_PORT="5672" +RABBITMQ_SERVER_ERL_ARGS="" +RABBITMQ_SERVER_START_ARGS="" +RABBITMQ_CLUSTER_CONFIG_FILE="" + @@ . patch -p0 <<'@@ .' Index: openpkg-src/rabbitmq/rabbitmq.spec ============================================================================ $ cvs diff -u -r0 -r1.1 rabbitmq.spec --- /dev/null 2009-09-20 21:36:52 +0200 +++ rabbitmq.spec 2009-09-20 21:36:55 +0200 @@ -0,0 +1,156 @@ +## +## rabbitmq.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/> +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: rabbitmq +Summary: AMQP Server +URL: http://www.rabbitmq.com/ +Vendor: Rabbit Technologies Ltd. +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: Networking +License: MPL +Version: 1.6.0 +Release: 20090920 + +# list of sources +Source0: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/rabbitmq-server-generic-unix-%{version}.tar.gz +Source1: rc.rabbitmq +Source2: rabbitmq.conf + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20060823, erlang +PreReq: OpenPKG, openpkg >= 20060823, erlang +AutoReq: no +AutoReqProv: no + +%description + The RabbitMQ server is an implementation of an AMQP (Advanced + Message Queuing Protocol) broker. It is written on top of the + widely-used Erlang-based Open Telecom Platform (OTP), and is + platform neutral. + +%track + prog rabbitmq = { + version = %{version} + url = http://www.rabbitmq.com/download.html + regex = rabbitmq-server-generic-unix-(__VER__)\.tar\.gz + } + +%prep + %setup -q -n rabbitmq_server-%{version} + +%build + +%install + rm -rf $RPM_BUILD_ROOT + + # create installation hierarchy + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/bin \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rabbitmq \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/rabbitmq \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man5 \ + $RPM_BUILD_ROOT%{l_prefix}/var/rabbitmq/log \ + $RPM_BUILD_ROOT%{l_prefix}/var/rabbitmq/run \ + $RPM_BUILD_ROOT%{l_prefix}/var/rabbitmq/db + + # configure paths + %{l_shtool} subst \ + -e 's;/etc/rabbitmq/rabbitmq\.conf;%{l_prefix}/etc/rabbitmq/rabbitmq.conf;g' \ + -e 's;exec erl;exec %{l_prefix}/bin/erl;' \ + sbin/rabbitmqctl + %{l_shtool} subst \ + -e 's;^\(NODE_IP_ADDRESS\)=.*;\1=127.0.0.1;' \ + -e 's;^\(CLUSTER_CONFIG_FILE\)=.*;\1=%{l_prefix}/etc/rabbitmq/rabbitmq_cluster.conf;' \ + -e 's;^\(LOG_BASE\)=.*;\1=%{l_prefix}/var/rabbitmq/log;' \ + -e 's;^\(MNESIA_BASE\)=.*;\1=%{l_prefix}/var/rabbitmq/db;' \ + -e 's;/etc/rabbitmq/rabbitmq\.conf;%{l_prefix}/etc/rabbitmq/rabbitmq.conf;g' \ + -e 's;exec erl;exec %{l_prefix}/bin/erl;' \ + sbin/rabbitmq-server + %{l_shtool} subst \ + -e 's;^\(NODE_IP_ADDRESS\)=.*;\1=127.0.0.1;' \ + -e 's;/var/lib/rabbitmq/pids;%{l_prefix}/var/rabbitmq/pids;' \ + -e 's;/etc/rabbitmq/rabbitmq\.conf;%{l_prefix}/etc/rabbitmq/rabbitmq.conf;g' \ + -e 's;exec erl;exec %{l_prefix}/bin/erl;' \ + sbin/rabbitmq-multi + + # install programs and manpages + for prg in rabbitmqctl rabbitmq-server rabbitmq-multi; do + ( echo "#!/bin/sh" + echo "exec %{l_prefix}/libexec/rabbitmq/sbin/$prg \${1+\"\...@\"}" + ) >$prg + %{l_shtool} install -c -m 755 \ + $prg $RPM_BUILD_ROOT%{l_prefix}/bin/$prg + %{l_gzip} -d -c share/man/man1/$prg.1.gz \ + >$RPM_BUILD_ROOT%{l_prefix}/man/man1/$prg.1 + done + %{l_gzip} -d -c share/man/man5/rabbitmq.conf.5.gz \ + >$RPM_BUILD_ROOT%{l_prefix}/man/man5/rabbitmq.conf.5 + + # install program components + cp -r ebin sbin include \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/rabbitmq/ + + # install run-command script + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rc.rabbitmq} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # install default configuration + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rabbitmq.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/rabbitmq/ + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%config %{l_prefix}/etc/rabbitmq/*' \ + '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rabbitmq/*' + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT + +%post + # after upgrade, restart service + if [ $1 -eq 2 ]; then + eval `%{l_rc} rabbitmq status 2>/dev/null` + [ ".$rabbitmq_active" = .yes ] && %{l_rc} rabbitmq restart + fi + exit 0 + +%preun + if [ $1 -eq 0 ]; then + # before erase, stop service and remove log files + %{l_rc} rabbitmq stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/rabbitmq/log/* >/dev/null 2>&1 || true + rm -f $RPM_INSTALL_PREFIX/var/rabbitmq/run/* >/dev/null 2>&1 || true + rm -rf $RPM_INSTALL_PREFIX/var/rabbitmq/db/* >/dev/null 2>&1 || true + fi + exit 0 + @@ . patch -p0 <<'@@ .' Index: openpkg-src/rabbitmq/rc.rabbitmq ============================================================================ $ cvs diff -u -r0 -r1.1 rc.rabbitmq --- /dev/null 2009-09-20 21:36:52 +0200 +++ rc.rabbitmq 2009-09-20 21:36:55 +0200 @@ -0,0 +1,64 @@ +...@l_prefix@/bin/openpkg rc +## +## rc.rabbitmq -- Run-Commands +## + +%config + rabbitmq_enable="$openpkg_rc_def" + rabbitmq_log_prolog="true" + rabbitmq_log_epilog="true" + rabbitmq_log_numfiles="10" + rabbitmq_log_minsize="1M" + rabbitmq_log_complevel="9" + +%common + rabbitmq_pidfile="@l_prefix@/var/rabbitmq/run/rabbitmq.pid" + rabbitmq_logfile="@l_prefix@/var/rabbitmq/log/rabbitmq.log" + rabbitmq_rundir="@l_prefix@/var/rabbitmq/run" + rabbitmq_logdir="@l_prefix@/var/rabbitmq/log" + rabbitmq_dbdir="@l_prefix@/var/rabbitmq/db" + rabbitmq_signal () { + [ -f $rabbitmq_pidfile ] && kill -$1 `cat $rabbitmq_pidfile` + } + +%status -u @l_rusr@ -o + rabbitmq_usable="unknown" + rabbitmq_active="no" + rcService rabbitmq enable yes && \ + rabbitmq_signal 0 && rabbitmq_active="yes" + echo "rabbitmq_enable=\"$rabbitmq_enable\"" + echo "rabbitmq_usable=\"$rabbitmq_usable\"" + echo "rabbitmq_active=\"$rabbitmq_active\"" + +%start -u @l_rusr@ + rcService rabbitmq enable yes || exit 0 + rcService rabbitmq active yes && exit 0 + ( export RABBITMQ_LOG_BASE="$rabbitmq_logdir" + export RABBITMQ_MNESIA_DIR="$rabbitmq_dbdir" + export HOME="$rabbitmq_rundir" + eval "nohup @l_prefix@/bin/rabbitmq-server </dev/null >$rabbitmq_logfile 2>&1 &" + echo $! >$rabbitmq_pidfile + ) >/dev/null 2>&1 + +%stop -u @l_rusr@ + rcService rabbitmq enable yes || exit 0 + rcService rabbitmq active no && exit 0 + rabbitmq_signal TERM + sleep 2 + rm -f $rabbitmq_pidfile 2>/dev/null || true + +%restart -u @l_rusr@ + rcService rabbitmq enable yes || exit 0 + rcService rabbitmq active no && exit 0 + rc rabbitmq stop + rc rabbitmq start + +%daily -u @l_rusr@ + rcService rabbitmq enable yes || exit 0 + shtool rotate -f \ + -n $rabbitmq_log_numfiles -s $rabbitmq_log_minsize -d \ + -z $rabbitmq_log_complevel -o @l_rusr@ -g @l_rgrp@ -m 644 \ + -P "$rabbitmq_log_prolog" \ + -E "$rabbitmq_log_epilog; rc rabbitmq restart" \ + $rabbitmq_logfile + @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org