summaryrefslogtreecommitdiffstats
path: root/meta-openstack
diff options
context:
space:
mode:
authorMihai Prica <prica.mihai@gmail.com>2013-06-11 15:08:57 +0300
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-08-28 18:41:57 -0400
commit375b2a783f7257c2871d89ad72ff56d87492bb8a (patch)
treed03fcc2507de9f3de49d8143aac8a812c7b2d976 /meta-openstack
parent122b70a1290dca8635863f02a9ce2960913780a5 (diff)
downloadmeta-cloud-services-375b2a783f7257c2871d89ad72ff56d87492bb8a.tar.gz
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 <prica.mihai@gmail.com>
Diffstat (limited to 'meta-openstack')
-rw-r--r--meta-openstack/recipes-extended/rabbitmq/files/quick-fix.patch13
-rw-r--r--meta-openstack/recipes-extended/rabbitmq/files/rabbitmq-server174
-rw-r--r--meta-openstack/recipes-extended/rabbitmq/rabbitmq-server_3.0.4.bb53
3 files changed, 240 insertions, 0 deletions
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 @@
1Index: rabbitmq-server-3.0.4/Makefile
2===================================================================
3--- rabbitmq-server-3.0.4.orig/Makefile
4+++ rabbitmq-server-3.0.4/Makefile
5@@ -320,7 +320,7 @@ $(SOURCE_DIR)/%_usage.erl:
6
7 docs_all: $(MANPAGES) $(WEB_MANPAGES)
8
9-install: install_bin install_docs
10+install: install_bin
11
12 install_bin: all install_dirs
13 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 @@
1#!/bin/sh
2#
3# rabbitmq-server RabbitMQ broker
4#
5# chkconfig: - 80 05
6# description: Enable AMQP service provided by RabbitMQ
7#
8
9### BEGIN INIT INFO
10# Provides: rabbitmq-server
11# Required-Start: $remote_fs $network
12# Required-Stop: $remote_fs $network
13# Default-Start: 2 3 4 5
14# Default-Stop: 0 1 6
15# Description: RabbitMQ broker
16# Short-Description: Enable AMQP service provided by RabbitMQ broker
17### END INIT INFO
18
19DAEMON=/usr/bin/rabbitmq-server
20CONTROL=/usr/bin/rabbitmqctl
21USER=root
22ROTATE_SUFFIX=
23INIT_LOG_DIR=/var/log/rabbitmq
24PID_FILE=/var/run/rabbitmq/pid
25
26LOCK_FILE=
27
28test -x $DAEMON || exit 0
29test -x $CONTROL || exit 0
30
31RETVAL=0
32set -e
33
34ensure_pid_dir () {
35 PID_DIR=`dirname ${PID_FILE}`
36 if [ ! -d ${PID_DIR} ] ; then
37 mkdir -p ${PID_DIR}
38 chown -R ${USER}:${USER} ${PID_DIR}
39 chmod 755 ${PID_DIR}
40 fi
41}
42
43remove_pid () {
44 rm -f ${PID_FILE}
45 rmdir `dirname ${PID_FILE}` || :
46}
47
48start_rabbitmq () {
49 status_rabbitmq quiet
50 if [ $RETVAL = 0 ] ; then
51 echo RabbitMQ is currently running
52 else
53 RETVAL=0
54 ensure_pid_dir
55 set +e
56 RABBITMQ_PID_FILE=$PID_FILE start-stop-daemon --pidfile=$PID_FILE --exec $DAEMON --background --start
57 $CONTROL wait $PID_FILE >/dev/null 2>&1
58 RETVAL=$?
59 set -e
60 case "$RETVAL" in
61 0)
62 echo SUCCESS
63 if [ -n "$LOCK_FILE" ] ; then
64 touch $LOCK_FILE
65 fi
66 echo "`date` - rabbitmq successfully started" >> ${INIT_LOG_DIR}/startup_log
67 # only emit the event on boot
68 [ -n "$UPSTART_JOB" ] && initctl emit --no-wait rabbitmq-server-running || true
69 ;;
70 *)
71 remove_pid
72 echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
73 echo "`date` - rabbitmq failed to start" >> ${INIT_LOG_DIR}/startup_err
74 RETVAL=1
75 ;;
76 esac
77 fi
78}
79
80stop_rabbitmq () {
81 status_rabbitmq quiet
82 if [ $RETVAL = 0 ] ; then
83 set +e
84 start-stop-daemon --pidfile=$PID_FILE --stop
85 RETVAL=$?
86 set -e
87 if [ $RETVAL = 0 ] ; then
88 remove_pid
89 if [ -n "$LOCK_FILE" ] ; then
90 rm -f $LOCK_FILE
91 fi
92 echo "`date` - rabbitmq successfully stopped" >> ${INIT_LOG_DIR}/shutdown_log
93 else
94 echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
95 echo "`date` - rabbitmq failed to stop" >> ${INIT_LOG_DIR}/shutdown_err
96 fi
97 else
98 echo RabbitMQ is not running
99 RETVAL=0
100 fi
101}
102
103status_rabbitmq() {
104 set +e
105 if [ "$1" != "quiet" ] ; then
106 $CONTROL status 2>&1
107 else
108 $CONTROL status > /dev/null 2>&1
109 fi
110 if [ $? != 0 ] ; then
111 RETVAL=3
112 fi
113 set -e
114}
115
116rotate_logs_rabbitmq() {
117 set +e
118 $CONTROL rotate_logs ${ROTATE_SUFFIX}
119 if [ $? != 0 ] ; then
120 RETVAL=1
121 fi
122 set -e
123}
124
125restart_running_rabbitmq () {
126 status_rabbitmq quiet
127 if [ $RETVAL = 0 ] ; then
128 restart_rabbitmq
129 else
130 echo RabbitMQ is not runnning
131 RETVAL=0
132 fi
133}
134
135restart_rabbitmq() {
136 stop_rabbitmq
137 start_rabbitmq
138}
139
140case "$1" in
141 start)
142 echo -n "Starting $DESC: "
143 start_rabbitmq
144 echo "$NAME."
145 ;;
146 stop)
147 echo -n "Stopping $DESC: "
148 stop_rabbitmq
149 echo "$NAME."
150 ;;
151 status)
152 status_rabbitmq
153 ;;
154 rotate-logs)
155 echo -n "Rotating log files for $DESC: "
156 rotate_logs_rabbitmq
157 ;;
158 force-reload|reload|restart)
159 echo -n "Restarting $DESC: "
160 restart_rabbitmq
161 echo "$NAME."
162 ;;
163 try-restart)
164 echo -n "Restarting $DESC: "
165 restart_running_rabbitmq
166 echo "$NAME."
167 ;;
168 *)
169 echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
170 RETVAL=1
171 ;;
172esac
173
174exit $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 @@
1DESCRIPTION = "High-performance AMQP-compliant message broker written in Erlang."
2HOMEPAGE = "http://www.rabbitmq.com/"
3LICENSE = "MPL-1.1"
4LIC_FILES_CHKSUM = "file://LICENSE-MPL-RabbitMQ;md5=10a81373a21abb63f98ef5dc93e1601a"
5SECTION = "network"
6DEPENDS = "erlang-native libxslt python-simplejson "
7PR = "r0"
8
9SRC_URI = "http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/${PN}-${PV}.tar.gz \
10 file://rabbitmq-server \
11 file://quick-fix.patch"
12
13SRC_URI[md5sum] = "e4db90708fa2e9a687af342bbd2c0dd8"
14SRC_URI[sha256sum] = "e49dbcfd8b2085133847de33081e2defb1f4879d21a9776d54ab1f1988e0e163"
15
16RDEPENDS_${PN} = "erlang"
17
18do_compile() {
19 oe_runmake
20}
21
22do_install() {
23 RABBIT_LIB_DIR=${D}${libdir}/rabbitmq/lib/${PN}-${PV}
24
25 sed -e "s:^RABBITMQ_HOME=.*:RABBITMQ_HOME=\"${libdir}/rabbitmq/lib/${PN}-${PV}\":g" \
26 -i ${S}/scripts/rabbitmq-env
27 oe_runmake TARGET_DIR=${D} \
28 SBIN_DIR=${D}/${bindir} \
29 MAN_DIR=${D}/${mandir} install \
30
31 install -d ${D}${libdir}/rabbitmq/lib/${PN}-${PV}
32
33 install -d ${D}${sysconfdir}/init.d
34 install -m 0755 ${WORKDIR}/rabbitmq-server ${D}${sysconfdir}/init.d/rabbitmq-server
35
36 mv ${D}/ebin ${RABBIT_LIB_DIR}/ebin
37 mv ${D}/include ${RABBIT_LIB_DIR}/include
38 mv ${D}/plugins ${RABBIT_LIB_DIR}/plugins
39}
40
41inherit useradd update-rc.d
42
43USERADD_PACKAGES = "${PN}"
44GROUPADD_PARAM_${PN} = "--system rabbitmq"
45USERADD_PARAM_${PN} = "--system --home /var/lib/rabbitmq -g rabbitmq \
46 --no-create-home rabbitmq"
47
48INITSCRIPT_NAME = "rabbitmq-server"
49INITSCRIPT_PARAMS = "defaults"
50
51FILES_${PN} += " ${libdir}/rabbitmq/lib/${PN}-${PV}/*"
52
53FILES_${PN}-doc += "LICENSE* INSTALL"