From 375b2a783f7257c2871d89ad72ff56d87492bb8a Mon Sep 17 00:00:00 2001 From: Mihai Prica Date: Tue, 11 Jun 2013 15:08:57 +0300 Subject: rabbitmq-server: added 3.0.4 -The quick fix doesn't build the docs for the package because of an error. -Added an initscript for the package. Signed-off-by: Mihai Prica --- .../rabbitmq/files/quick-fix.patch | 13 ++ .../rabbitmq/files/rabbitmq-server | 174 +++++++++++++++++++++ .../rabbitmq/rabbitmq-server_3.0.4.bb | 53 +++++++ 3 files changed, 240 insertions(+) create mode 100644 meta-openstack/recipes-extended/rabbitmq/files/quick-fix.patch create mode 100644 meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server create mode 100644 meta-openstack/recipes-extended/rabbitmq/rabbitmq-server_3.0.4.bb (limited to 'meta-openstack') diff --git a/meta-openstack/recipes-extended/rabbitmq/files/quick-fix.patch b/meta-openstack/recipes-extended/rabbitmq/files/quick-fix.patch new file mode 100644 index 0000000..a7d2479 --- /dev/null +++ b/meta-openstack/recipes-extended/rabbitmq/files/quick-fix.patch @@ -0,0 +1,13 @@ +Index: rabbitmq-server-3.0.4/Makefile +=================================================================== +--- rabbitmq-server-3.0.4.orig/Makefile ++++ rabbitmq-server-3.0.4/Makefile +@@ -320,7 +320,7 @@ $(SOURCE_DIR)/%_usage.erl: + + docs_all: $(MANPAGES) $(WEB_MANPAGES) + +-install: install_bin install_docs ++install: install_bin + + install_bin: all install_dirs + cp -r ebin include LICENSE* INSTALL $(TARGET_DIR) diff --git a/meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server b/meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server new file mode 100644 index 0000000..38718ea --- /dev/null +++ b/meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server @@ -0,0 +1,174 @@ +#!/bin/sh +# +# rabbitmq-server RabbitMQ broker +# +# chkconfig: - 80 05 +# description: Enable AMQP service provided by RabbitMQ +# + +### BEGIN INIT INFO +# Provides: rabbitmq-server +# Required-Start: $remote_fs $network +# Required-Stop: $remote_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Description: RabbitMQ broker +# Short-Description: Enable AMQP service provided by RabbitMQ broker +### END INIT INFO + +DAEMON=/usr/bin/rabbitmq-server +CONTROL=/usr/bin/rabbitmqctl +USER=root +ROTATE_SUFFIX= +INIT_LOG_DIR=/var/log/rabbitmq +PID_FILE=/var/run/rabbitmq/pid + +LOCK_FILE= + +test -x $DAEMON || exit 0 +test -x $CONTROL || exit 0 + +RETVAL=0 +set -e + +ensure_pid_dir () { + PID_DIR=`dirname ${PID_FILE}` + if [ ! -d ${PID_DIR} ] ; then + mkdir -p ${PID_DIR} + chown -R ${USER}:${USER} ${PID_DIR} + chmod 755 ${PID_DIR} + fi +} + +remove_pid () { + rm -f ${PID_FILE} + rmdir `dirname ${PID_FILE}` || : +} + +start_rabbitmq () { + status_rabbitmq quiet + if [ $RETVAL = 0 ] ; then + echo RabbitMQ is currently running + else + RETVAL=0 + ensure_pid_dir + set +e + RABBITMQ_PID_FILE=$PID_FILE start-stop-daemon --pidfile=$PID_FILE --exec $DAEMON --background --start + $CONTROL wait $PID_FILE >/dev/null 2>&1 + RETVAL=$? + set -e + case "$RETVAL" in + 0) + echo SUCCESS + if [ -n "$LOCK_FILE" ] ; then + touch $LOCK_FILE + fi + echo "`date` - rabbitmq successfully started" >> ${INIT_LOG_DIR}/startup_log + # only emit the event on boot + [ -n "$UPSTART_JOB" ] && initctl emit --no-wait rabbitmq-server-running || true + ;; + *) + remove_pid + echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\} + echo "`date` - rabbitmq failed to start" >> ${INIT_LOG_DIR}/startup_err + RETVAL=1 + ;; + esac + fi +} + +stop_rabbitmq () { + status_rabbitmq quiet + if [ $RETVAL = 0 ] ; then + set +e + start-stop-daemon --pidfile=$PID_FILE --stop + RETVAL=$? + set -e + if [ $RETVAL = 0 ] ; then + remove_pid + if [ -n "$LOCK_FILE" ] ; then + rm -f $LOCK_FILE + fi + echo "`date` - rabbitmq successfully stopped" >> ${INIT_LOG_DIR}/shutdown_log + else + echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err + echo "`date` - rabbitmq failed to stop" >> ${INIT_LOG_DIR}/shutdown_err + fi + else + echo RabbitMQ is not running + RETVAL=0 + fi +} + +status_rabbitmq() { + set +e + if [ "$1" != "quiet" ] ; then + $CONTROL status 2>&1 + else + $CONTROL status > /dev/null 2>&1 + fi + if [ $? != 0 ] ; then + RETVAL=3 + fi + set -e +} + +rotate_logs_rabbitmq() { + set +e + $CONTROL rotate_logs ${ROTATE_SUFFIX} + if [ $? != 0 ] ; then + RETVAL=1 + fi + set -e +} + +restart_running_rabbitmq () { + status_rabbitmq quiet + if [ $RETVAL = 0 ] ; then + restart_rabbitmq + else + echo RabbitMQ is not runnning + RETVAL=0 + fi +} + +restart_rabbitmq() { + stop_rabbitmq + start_rabbitmq +} + +case "$1" in + start) + echo -n "Starting $DESC: " + start_rabbitmq + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + stop_rabbitmq + echo "$NAME." + ;; + status) + status_rabbitmq + ;; + rotate-logs) + echo -n "Rotating log files for $DESC: " + rotate_logs_rabbitmq + ;; + force-reload|reload|restart) + echo -n "Restarting $DESC: " + restart_rabbitmq + echo "$NAME." + ;; + try-restart) + echo -n "Restarting $DESC: " + restart_running_rabbitmq + echo "$NAME." + ;; + *) + echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2 + RETVAL=1 + ;; +esac + +exit $RETVAL diff --git a/meta-openstack/recipes-extended/rabbitmq/rabbitmq-server_3.0.4.bb b/meta-openstack/recipes-extended/rabbitmq/rabbitmq-server_3.0.4.bb new file mode 100644 index 0000000..3c3f202 --- /dev/null +++ b/meta-openstack/recipes-extended/rabbitmq/rabbitmq-server_3.0.4.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "High-performance AMQP-compliant message broker written in Erlang." +HOMEPAGE = "http://www.rabbitmq.com/" +LICENSE = "MPL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE-MPL-RabbitMQ;md5=10a81373a21abb63f98ef5dc93e1601a" +SECTION = "network" +DEPENDS = "erlang-native libxslt python-simplejson " +PR = "r0" + +SRC_URI = "http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/${PN}-${PV}.tar.gz \ + file://rabbitmq-server \ + file://quick-fix.patch" + +SRC_URI[md5sum] = "e4db90708fa2e9a687af342bbd2c0dd8" +SRC_URI[sha256sum] = "e49dbcfd8b2085133847de33081e2defb1f4879d21a9776d54ab1f1988e0e163" + +RDEPENDS_${PN} = "erlang" + +do_compile() { + oe_runmake +} + +do_install() { + RABBIT_LIB_DIR=${D}${libdir}/rabbitmq/lib/${PN}-${PV} + + sed -e "s:^RABBITMQ_HOME=.*:RABBITMQ_HOME=\"${libdir}/rabbitmq/lib/${PN}-${PV}\":g" \ + -i ${S}/scripts/rabbitmq-env + oe_runmake TARGET_DIR=${D} \ + SBIN_DIR=${D}/${bindir} \ + MAN_DIR=${D}/${mandir} install \ + + install -d ${D}${libdir}/rabbitmq/lib/${PN}-${PV} + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/rabbitmq-server ${D}${sysconfdir}/init.d/rabbitmq-server + + mv ${D}/ebin ${RABBIT_LIB_DIR}/ebin + mv ${D}/include ${RABBIT_LIB_DIR}/include + mv ${D}/plugins ${RABBIT_LIB_DIR}/plugins +} + +inherit useradd update-rc.d + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system rabbitmq" +USERADD_PARAM_${PN} = "--system --home /var/lib/rabbitmq -g rabbitmq \ + --no-create-home rabbitmq" + +INITSCRIPT_NAME = "rabbitmq-server" +INITSCRIPT_PARAMS = "defaults" + +FILES_${PN} += " ${libdir}/rabbitmq/lib/${PN}-${PV}/*" + +FILES_${PN}-doc += "LICENSE* INSTALL" -- cgit v1.2.3-54-g00ecf