summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2010-08-02 16:44:14 +0100
committerSimon MacMullen <simon@rabbitmq.com>2010-08-02 16:44:14 +0100
commitd2e2fa6099077c1f2cf6cb82fdddadca4858bc5a (patch)
treee0cd536f7237cdea6e3e0dfffb47bd42e1ef0202 /packaging
parentb28f428065dcc90a6937782cd69d353aedf0ebe1 (diff)
parent2efd9f8a2a2b167b21fc22b427613564b0bf6807 (diff)
downloadrabbitmq-server-git-d2e2fa6099077c1f2cf6cb82fdddadca4858bc5a.tar.gz
Merging default into bug21875
Diffstat (limited to 'packaging')
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec12
-rwxr-xr-xpackaging/common/rabbitmq-server.ocf182
-rw-r--r--packaging/debs/Debian/debian/changelog12
-rw-r--r--packaging/debs/Debian/debian/postrm.in19
-rw-r--r--packaging/debs/Debian/debian/rules2
-rw-r--r--packaging/macports/Makefile13
-rw-r--r--packaging/macports/Portfile.in31
-rwxr-xr-xpackaging/macports/make-port-diff.sh27
8 files changed, 175 insertions, 123 deletions
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec
index 4a7240e02c..bf03c6acd2 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.spec
+++ b/packaging/RPMS/Fedora/rabbitmq-server.spec
@@ -105,6 +105,12 @@ if [ $1 = 0 ]; then
# Leave rabbitmq user and group
fi
+# Clean out plugin activation state, both on uninstall and upgrade
+rm -rf %{_rabbit_erllibdir}/priv
+for ext in rel script boot ; do
+ rm -f %{_rabbit_erllibdir}/ebin/rabbit.$ext
+done
+
%files -f ../%{name}.files
%defattr(-,root,root,-)
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
@@ -120,6 +126,12 @@ fi
rm -rf %{buildroot}
%changelog
+* Wed Jul 14 2010 Emile Joubert <emile@rabbitmq.com> 1.8.1-1
+- New Upstream Release
+
+* Tue Jun 15 2010 Matthew Sackman <matthew@rabbitmq.com> 1.8.0-1
+- New Upstream Release
+
* Mon Feb 15 2010 Matthew Sackman <matthew@lshift.net> 1.7.2-1
- New Upstream Release
diff --git a/packaging/common/rabbitmq-server.ocf b/packaging/common/rabbitmq-server.ocf
index 97c58ea2f8..b969535aba 100755
--- a/packaging/common/rabbitmq-server.ocf
+++ b/packaging/common/rabbitmq-server.ocf
@@ -35,21 +35,21 @@
##
## OCF instance parameters
-## OCF_RESKEY_multi
-## OCF_RESKEY_ctl
-## OCF_RESKEY_nodename
-## OCF_RESKEY_ip
-## OCF_RESKEY_port
-## OCF_RESKEY_cluster_config_file
-## OCF_RESKEY_config_file
-## OCF_RESKEY_log_base
-## OCF_RESKEY_mnesia_base
-## OCF_RESKEY_server_start_args
+## OCF_RESKEY_multi
+## OCF_RESKEY_ctl
+## OCF_RESKEY_nodename
+## OCF_RESKEY_ip
+## OCF_RESKEY_port
+## OCF_RESKEY_config_file
+## OCF_RESKEY_log_base
+## OCF_RESKEY_mnesia_base
+## OCF_RESKEY_server_start_args
#######################################################################
# Initialization:
-. ${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs
+: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/resource.d/heartbeat}
+. ${OCF_FUNCTIONS_DIR}/.ocf-shellfuncs
#######################################################################
@@ -63,7 +63,7 @@ OCF_RESKEY_log_base_default="/var/log/rabbitmq"
: ${OCF_RESKEY_log_base=${OCF_RESKEY_log_base_default}}
meta_data() {
- cat <<END
+ cat <<END
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="rabbitmq-server">
@@ -113,15 +113,7 @@ The IP address for rabbitmq-server to listen on
The IP Port for rabbitmq-server to listen on
</longdesc>
<shortdesc lang="en">IP Port</shortdesc>
-<content type="string" default="" />
-</parameter>
-
-<parameter name="cluster_config_file" unique="0" required="0">
-<longdesc lang="en">
-Location of the cluster config file
-</longdesc>
-<shortdesc lang="en">Cluster config file path</shortdesc>
-<content type="string" default="" />
+<content type="integer" default="" />
</parameter>
<parameter name="config_file" unique="0" required="0">
@@ -161,7 +153,8 @@ Additional arguments provided to the server on startup
<actions>
<action name="start" timeout="600" />
<action name="stop" timeout="120" />
-<action name="monitor" timeout="20" interval="10" depth="0" start-delay="0" />
+<action name="status" timeout="20" interval="10" />
+<action name="monitor" timeout="20" interval="10" />
<action name="validate-all" timeout="30" />
<action name="meta-data" timeout="5" />
</actions>
@@ -170,8 +163,8 @@ END
}
rabbit_usage() {
- cat <<END
-usage: $0 {start|stop|monitor|validate-all|meta-data}
+ cat <<END
+usage: $0 {start|stop|status|monitor|validate-all|meta-data}
Expects to have a fully populated OCF RA-compliant environment set.
END
@@ -182,7 +175,6 @@ RABBITMQ_CTL=$OCF_RESKEY_ctl
RABBITMQ_NODENAME=$OCF_RESKEY_nodename
RABBITMQ_NODE_IP_ADDRESS=$OCF_RESKEY_ip
RABBITMQ_NODE_PORT=$OCF_RESKEY_port
-RABBITMQ_CLUSTER_CONFIG_FILE=$OCF_RESKEY_cluster_config_file
RABBITMQ_CONFIG_FILE=$OCF_RESKEY_config_file
RABBITMQ_LOG_BASE=$OCF_RESKEY_log_base
RABBITMQ_MNESIA_BASE=$OCF_RESKEY_mnesia_base
@@ -193,7 +185,6 @@ RABBITMQ_SERVER_START_ARGS=$OCF_RESKEY_server_start_args
export_vars() {
[ ! -z $RABBITMQ_NODE_IP_ADDRESS ] && export RABBITMQ_NODE_IP_ADDRESS
[ ! -z $RABBITMQ_NODE_PORT ] && export RABBITMQ_NODE_PORT
- [ ! -z $RABBITMQ_CLUSTER_CONFIG_FILE ] && export RABBITMQ_CLUSTER_CONFIG_FILE
[ ! -z $RABBITMQ_CONFIG_FILE ] && export RABBITMQ_CONFIG_FILE
[ ! -z $RABBITMQ_LOG_BASE ] && export RABBITMQ_LOG_BASE
[ ! -z $RABBITMQ_MNESIA_BASE ] && export RABBITMQ_MNESIA_BASE
@@ -202,35 +193,30 @@ export_vars() {
rabbit_validate_partial() {
if [ ! -x $RABBITMQ_MULTI ]; then
- ocf_log err "rabbitmq-server multi $RABBITMQ_MULTI does not exist or is not executable";
- return $OCF_ERR_ARGS;
+ ocf_log err "rabbitmq-server multi $RABBITMQ_MULTI does not exist or is not executable";
+ exit $OCF_ERR_INSTALLED;
fi
if [ ! -x $RABBITMQ_CTL ]; then
- ocf_log err "rabbitmq-server ctl $RABBITMQ_CTL does not exist or is not executable";
- return $OCF_ERR_ARGS;
+ ocf_log err "rabbitmq-server ctl $RABBITMQ_CTL does not exist or is not executable";
+ exit $OCF_ERR_INSTALLED;
fi
}
rabbit_validate_full() {
- if [ ! -z $RABBITMQ_CLUSTER_CONFIG_FILE ] && [ ! -e $RABBITMQ_CLUSTER_CONFIG_FILE ]; then
- ocf_log err "rabbitmq-server cluster_config_file $RABBITMQ_CLUSTER_CONFIG_FILE does not exist or is not a file";
- return $OCF_ERR_ARGS;
- fi
-
if [ ! -z $RABBITMQ_CONFIG_FILE ] && [ ! -e $RABBITMQ_CONFIG_FILE ]; then
- ocf_log err "rabbitmq-server config_file $RABBITMQ_CONFIG_FILE does not exist or is not a file";
- return $OCF_ERR_ARGS;
+ ocf_log err "rabbitmq-server config_file $RABBITMQ_CONFIG_FILE does not exist or is not a file";
+ exit $OCF_ERR_INSTALLED;
fi
if [ ! -z $RABBITMQ_LOG_BASE ] && [ ! -d $RABBITMQ_LOG_BASE ]; then
- ocf_log err "rabbitmq-server log_base $RABBITMQ_LOG_BASE does not exist or is not a directory";
- return $OCF_ERR_ARGS;
+ ocf_log err "rabbitmq-server log_base $RABBITMQ_LOG_BASE does not exist or is not a directory";
+ exit $OCF_ERR_INSTALLED;
fi
if [ ! -z $RABBITMQ_MNESIA_BASE ] && [ ! -d $RABBITMQ_MNESIA_BASE ]; then
- ocf_log err "rabbitmq-server mnesia_base $RABBITMQ_MNESIA_BASE does not exist or is not a directory";
- return $OCF_ERR_ARGS;
+ ocf_log err "rabbitmq-server mnesia_base $RABBITMQ_MNESIA_BASE does not exist or is not a directory";
+ exit $OCF_ERR_INSTALLED;
fi
rabbit_validate_partial
@@ -243,25 +229,26 @@ rabbit_status() {
$RABBITMQ_CTL $NODENAME_ARG status > /dev/null 2> /dev/null
rc=$?
case "$rc" in
- 0)
- return $OCF_SUCCESS
- ;;
- 2)
- return $OCF_NOT_RUNNING
- ;;
- *)
- ocf_log err "Unexpected return from rabbitmqctl $NODENAME_ARG status: $rc"
- return $OCF_ERR_GENERIC
+ 0)
+ ocf_log debug "RabbitMQ server is running normally"
+ return $OCF_SUCCESS
+ ;;
+ 2)
+ ocf_log debug "RabbitMQ server is not running"
+ return $OCF_NOT_RUNNING
+ ;;
+ *)
+ ocf_log err "Unexpected return from rabbitmqctl $NODENAME_ARG status: $rc"
+ exit $OCF_ERR_GENERIC
esac
}
rabbit_start() {
local rc
- rabbit_validate_full
- rc=$?
- if [ "$rc" != $OCF_SUCCESS ]; then
- return $rc
+ if rabbit_status; then
+ ocf_log info "Resource already running."
+ return $OCF_SUCCESS
fi
export_vars
@@ -270,24 +257,23 @@ rabbit_start() {
rc=$?
if [ "$rc" != 0 ]; then
- ocf_log err "rabbitmq-server start command failed: $RABBITMQ_MULTI start_all 1, $rc"
- return $rc
+ ocf_log err "rabbitmq-server start command failed: $RABBITMQ_MULTI start_all 1, $rc"
+ return $rc
fi
# Spin waiting for the server to come up.
# Let the CRM/LRM time us out if required
start_wait=1
while [ $start_wait = 1 ]; do
- rabbit_status
- rc=$?
- if [ "$rc" = $OCF_SUCCESS ]; then
- start_wait=0
-
- elif [ "$rc" != $OCF_NOT_RUNNING ]; then
- ocf_log info "rabbitmq-server start failed: $rc"
- return $OCF_ERR_GENERIC
- fi
- sleep 2
+ rabbit_status
+ rc=$?
+ if [ "$rc" = $OCF_SUCCESS ]; then
+ start_wait=0
+ elif [ "$rc" != $OCF_NOT_RUNNING ]; then
+ ocf_log info "rabbitmq-server start failed: $rc"
+ exit $OCF_ERR_GENERIC
+ fi
+ sleep 1
done
return $OCF_SUCCESS
@@ -295,28 +281,34 @@ rabbit_start() {
rabbit_stop() {
local rc
+
+ if ! rabbit_status; then
+ ocf_log info "Resource not running."
+ return $OCF_SUCCESS
+ fi
+
$RABBITMQ_MULTI stop_all &
rc=$?
if [ "$rc" != 0 ]; then
- ocf_log err "rabbitmq-server stop command failed: $RABBITMQ_MULTI stop_all, $rc"
- return $rc
+ ocf_log err "rabbitmq-server stop command failed: $RABBITMQ_MULTI stop_all, $rc"
+ return $rc
fi
# Spin waiting for the server to shut down.
# Let the CRM/LRM time us out if required
stop_wait=1
while [ $stop_wait = 1 ]; do
- rabbit_status
- rc=$?
- if [ "$rc" = $OCF_NOT_RUNNING ]; then
- stop_wait=0
+ rabbit_status
+ rc=$?
+ if [ "$rc" = $OCF_NOT_RUNNING ]; then
+ stop_wait=0
break
- elif [ "$rc" != $OCF_SUCCESS ]; then
- ocf_log info "rabbitmq-server stop failed: $rc"
- return $OCF_ERR_GENERIC
- fi
- sleep 2
+ elif [ "$rc" != $OCF_SUCCESS ]; then
+ ocf_log info "rabbitmq-server stop failed: $rc"
+ exit $OCF_ERR_GENERIC
+ fi
+ sleep 1
done
return $OCF_SUCCESS
@@ -329,34 +321,38 @@ rabbit_monitor() {
case $__OCF_ACTION in
meta-data)
- meta_data
- exit $OCF_SUCCESS
- ;;
+ meta_data
+ exit $OCF_SUCCESS
+ ;;
usage|help)
- rabbit_usage
- exit $OCF_SUCCESS
- ;;
+ rabbit_usage
+ exit $OCF_SUCCESS
+ ;;
esac
-rabbit_validate_partial || exit
+if ocf_is_probe; then
+ rabbit_validate_partial
+else
+ rabbit_validate_full
+fi
case $__OCF_ACTION in
start)
- rabbit_start
+ rabbit_start
;;
stop)
- rabbit_stop
+ rabbit_stop
;;
- monitor)
- rabbit_monitor
+ status|monitor)
+ rabbit_monitor
;;
validate-all)
exit $OCF_SUCCESS
- ;;
+ ;;
*)
- rabbit_usage
- exit $OCF_ERR_UNIMPLEMENTED
- ;;
+ rabbit_usage
+ exit $OCF_ERR_UNIMPLEMENTED
+ ;;
esac
-exit $? \ No newline at end of file
+exit $?
diff --git a/packaging/debs/Debian/debian/changelog b/packaging/debs/Debian/debian/changelog
index 63b50749e1..0dccf93879 100644
--- a/packaging/debs/Debian/debian/changelog
+++ b/packaging/debs/Debian/debian/changelog
@@ -1,3 +1,15 @@
+rabbitmq-server (1.8.1-1) lucid; urgency=low
+
+ * New Upstream Release
+
+ -- Emile Joubert <emile@rabbitmq.com> Wed, 14 Jul 2010 15:05:24 +0100
+
+rabbitmq-server (1.8.0-1) intrepid; urgency=low
+
+ * New Upstream Release
+
+ -- Matthew Sackman <matthew@rabbitmq.com> Tue, 15 Jun 2010 12:48:48 +0100
+
rabbitmq-server (1.7.2-1) intrepid; urgency=low
* New Upstream Release
diff --git a/packaging/debs/Debian/debian/postrm.in b/packaging/debs/Debian/debian/postrm.in
index bfcf1f530e..5290de9b17 100644
--- a/packaging/debs/Debian/debian/postrm.in
+++ b/packaging/debs/Debian/debian/postrm.in
@@ -18,6 +18,13 @@ set -e
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
+remove_plugin_traces() {
+ # Remove traces of plugins
+ rm -rf @RABBIT_LIB@/priv @RABBIT_LIB@/plugins
+ for ext in rel script boot ; do
+ rm -f @RABBIT_LIB@/ebin/rabbit.$ext
+ done
+}
case "$1" in
purge)
@@ -34,11 +41,7 @@ case "$1" in
if [ -d /etc/rabbitmq ]; then
rm -r /etc/rabbitmq
fi
- # Remove traces of plugins
- rm -rf @RABBIT_LIB@/priv @RABBIT_LIB@/plugins
- for ext in rel script boot ; do
- rm -f @RABBIT_LIB@/ebin/rabbit.$ext
- done
+ remove_plugin_traces
if getent passwd rabbitmq >/dev/null; then
# Stop epmd if run by the rabbitmq user
pkill -u rabbitmq epmd || :
@@ -50,7 +53,11 @@ case "$1" in
fi
;;
- remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ remove|upgrade)
+ remove_plugin_traces
+ ;;
+
+ failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
diff --git a/packaging/debs/Debian/debian/rules b/packaging/debs/Debian/debian/rules
index 1238b1424f..6b6df33b09 100644
--- a/packaging/debs/Debian/debian/rules
+++ b/packaging/debs/Debian/debian/rules
@@ -13,7 +13,7 @@ DOCDIR=$(DEB_DESTDIR)usr/share/doc/rabbitmq-server/
install/rabbitmq-server::
mkdir -p $(DOCDIR)
- rm $(RABBIT_LIB)LICENSE*
+ rm $(RABBIT_LIB)LICENSE* $(RABBIT_LIB)INSTALL*
for script in rabbitmqctl rabbitmq-server rabbitmq-multi; do \
install -p -D -m 0755 debian/rabbitmq-script-wrapper $(DEB_DESTDIR)usr/sbin/$$script; \
done
diff --git a/packaging/macports/Makefile b/packaging/macports/Makefile
index 0ef7dd5e73..3a22eef08a 100644
--- a/packaging/macports/Makefile
+++ b/packaging/macports/Makefile
@@ -31,15 +31,22 @@ $(DEST)/Portfile: Portfile.in
-f checksums.sed <$^ >$@
rm checksums.sed
+# The purpose of the intricate substitution below is to set up similar
+# environment vars to the ones that su will on Linux. On OS X, we
+# have to use the -m option to su in order to be able to set the shell
+# (which for the rabbitmq user would otherwise be /dev/null). But the
+# -m option means that *all* environment vars get preserved. Erlang
+# needs vars such as HOME to be set. So we have to set them
+# explicitly.
macports: dirs $(DEST)/Portfile
for f in rabbitmq-asroot-script-wrapper rabbitmq-script-wrapper ; do \
cp $(COMMON_DIR)/$$f $(DEST)/files ; \
done
- sed -i -e 's|@SU_RABBITMQ_SH_C@|SHELL=/bin/sh su -m rabbitmq -c|' \
+ sed -i -e 's|@SU_RABBITMQ_SH_C@|SHELL=/bin/sh HOME=/var/lib/rabbitmq USER=rabbitmq LOGNAME=rabbitmq PATH="$$(eval `PATH=MACPORTS_PREFIX/bin /usr/libexec/path_helper -s`; echo $$PATH)" su -m rabbitmq -c|' \
$(DEST)/files/rabbitmq-script-wrapper
cp patch-org.macports.rabbitmq-server.plist.diff $(DEST)/files
if [ -n "$(MACPORTS_USERHOST)" ] ; then \
- tar cf - -C $(MACPORTS_DIR) . | ssh $(SSH_OPTS) lshift@macrabbit ' \
+ tar cf - -C $(MACPORTS_DIR) . | ssh $(SSH_OPTS) $(MACPORTS_USERHOST) ' \
d="/tmp/mkportindex.$$$$" ; \
mkdir $$d \
&& cd $$d \
@@ -52,4 +59,4 @@ macports: dirs $(DEST)/Portfile
fi
clean:
- rm -rf $(DEST) checksums.sed
+ rm -rf $(MACPORTS_DIR) checksums.sed
diff --git a/packaging/macports/Portfile.in b/packaging/macports/Portfile.in
index 62cdad8e80..f30460d3d8 100644
--- a/packaging/macports/Portfile.in
+++ b/packaging/macports/Portfile.in
@@ -4,9 +4,8 @@
PortSystem 1.0
name rabbitmq-server
version @VERSION@
-revision 1
categories net
-maintainers rabbitmq.com:tonyg
+maintainers paperplanes.de:meyer rabbitmq.com:tonyg openmaintainer
platforms darwin
description The RabbitMQ AMQP Server
long_description \
@@ -23,8 +22,8 @@ checksums \
sha1 @sha1@ \
rmd160 @rmd160@
-depends_build port:erlang port:xmlto port:libxslt
-depends_run port:erlang
+depends_lib port:erlang
+depends_build port:xmlto port:libxslt
platform darwin 7 {
depends_build-append port:py25-simplejson
@@ -76,26 +75,18 @@ post-destroot {
reinplace -E "s:(/etc/rabbitmq/rabbitmq.conf):${prefix}\\1:g" \
${realsbin}/rabbitmq-env
- reinplace -E "s:(CLUSTER_CONFIG_FILE)=/:\\1=${prefix}/:" \
- ${realsbin}/rabbitmq-multi \
- ${realsbin}/rabbitmq-server \
- ${realsbin}/rabbitmqctl
- reinplace -E "s:(LOG_BASE)=/:\\1=${prefix}/:" \
- ${realsbin}/rabbitmq-multi \
- ${realsbin}/rabbitmq-server \
- ${realsbin}/rabbitmqctl
- reinplace -E "s:(MNESIA_BASE)=/:\\1=${prefix}/:" \
- ${realsbin}/rabbitmq-multi \
- ${realsbin}/rabbitmq-server \
- ${realsbin}/rabbitmqctl
- reinplace -E "s:(PIDS_FILE)=/:\\1=${prefix}/:" \
- ${realsbin}/rabbitmq-multi \
- ${realsbin}/rabbitmq-server \
- ${realsbin}/rabbitmqctl
+ foreach var {CONFIG_FILE CLUSTER_CONFIG_FILE LOG_BASE MNESIA_BASE PIDS_FILE} {
+ reinplace -E "s:^($var)=/:\\1=${prefix}/:" \
+ ${realsbin}/rabbitmq-multi \
+ ${realsbin}/rabbitmq-server \
+ ${realsbin}/rabbitmqctl
+ }
xinstall -m 555 ${filespath}/rabbitmq-script-wrapper \
${wrappersbin}/rabbitmq-multi
+ reinplace -E "s:MACPORTS_PREFIX/bin:${prefix}/bin:" \
+ ${wrappersbin}/rabbitmq-multi
reinplace -E "s:/usr/lib/rabbitmq/bin/:${prefix}/lib/rabbitmq/bin/:" \
${wrappersbin}/rabbitmq-multi
reinplace -E "s:/var/lib/rabbitmq:${prefix}/var/lib/rabbitmq:" \
diff --git a/packaging/macports/make-port-diff.sh b/packaging/macports/make-port-diff.sh
new file mode 100755
index 0000000000..3eb1b9f589
--- /dev/null
+++ b/packaging/macports/make-port-diff.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# This script grabs the latest rabbitmq-server bits from the main
+# macports subversion repo, and from the rabbitmq.com macports repo,
+# and produces a diff from the former to the latter for submission
+# through the macports trac.
+
+set -e
+
+dir=/tmp/$(basename $0).$$
+mkdir -p $dir/macports $dir/rabbitmq
+
+# Get the files from the macports subversion repo
+cd $dir/macports
+svn checkout http://svn.macports.org/repository/macports/trunk/dports/net/rabbitmq-server/ 2>&1 >/dev/null
+
+# Clear out the svn $id tag
+sed -i -e 's|^# \$.*$|# $Id$|' rabbitmq-server/Portfile
+
+# Get the files from the rabbitmq.com macports repo
+cd ../rabbitmq
+curl -s http://www.rabbitmq.com/releases/macports/net/rabbitmq-server.tgz | tar xzf -
+
+cd ..
+diff -Naur --exclude=.svn macports rabbitmq
+cd /
+rm -rf $dir