summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2009-03-25 09:02:38 +0000
committerMatthias Radestock <matthias@lshift.net>2009-03-25 09:02:38 +0000
commit702c412da4e133ac5d40af680323c80140e60bcf (patch)
tree6bd0940d78a53618a1bcd313dd5ae2e7c2a027e5
parentd67f82ffaf8f6b4f70e4482c306fe1b42b66a6b9 (diff)
parent2bf6a51c27a1331bca2a39b362a9740f6edb3ecb (diff)
downloadrabbitmq-server-702c412da4e133ac5d40af680323c80140e60bcf.tar.gz
merge default into bug19984
-rw-r--r--Makefile2
-rw-r--r--docs/rabbitmq-multi.1.pod2
-rw-r--r--docs/rabbitmq-server.1.pod4
-rw-r--r--docs/rabbitmq.conf.5.pod (renamed from docs/rabbitmq.5.pod)28
-rw-r--r--docs/rabbitmqctl.1.pod7
-rw-r--r--packaging/RPMS/Fedora/Makefile9
-rw-r--r--packaging/RPMS/Fedora/init.d30
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.logrotate2
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec59
-rw-r--r--packaging/RPMS/Fedora/rabbitmqctl_wrapper19
-rw-r--r--packaging/common/rabbitmq-script-wrapper (renamed from packaging/debs/Debian/debian/rabbitmqctl_wrapper)8
-rw-r--r--packaging/debs/Debian/Makefile2
-rw-r--r--packaging/debs/Debian/debian/changelog12
-rw-r--r--packaging/debs/Debian/debian/copyright20
-rw-r--r--packaging/debs/Debian/debian/dirs1
-rw-r--r--packaging/debs/Debian/debian/init.d15
-rw-r--r--packaging/debs/Debian/debian/postrm3
-rw-r--r--packaging/debs/Debian/debian/rabbitmq-server.logrotate2
-rw-r--r--packaging/debs/Debian/debian/rules5
-rw-r--r--packaging/macports/net/rabbitmq-server/Portfile115
-rw-r--r--packaging/macports/net/rabbitmq-server/files/patch-org.macports.rabbitmq-server.plist.diff10
-rw-r--r--packaging/macports/net/rabbitmq-server/files/rabbitmq-defaults7
-rw-r--r--packaging/macports/net/rabbitmq-server/files/rabbitmqctl_wrapper13
-rwxr-xr-xscripts/rabbitmq-multi2
-rwxr-xr-xscripts/rabbitmq-server4
-rw-r--r--src/rabbit_reader.erl8
26 files changed, 212 insertions, 177 deletions
diff --git a/Makefile b/Makefile
index e19c0d56..81ac5687 100644
--- a/Makefile
+++ b/Makefile
@@ -150,7 +150,7 @@ distclean: clean
%.gz: %.pod
pod2man \
- -n `echo $$(basename $*) | sed -e 's/\.[^.]\+//'` \
+ -n `echo $$(basename $*) | sed -e 's/\.[[:digit:]]\+//'` \
-s `echo $$(basename $*) | sed -e 's/.*\.\([^.]\+\)/\1/'` \
-c "RabbitMQ AMQP Server" \
-d "" \
diff --git a/docs/rabbitmq-multi.1.pod b/docs/rabbitmq-multi.1.pod
index 82c39116..23fd96ed 100644
--- a/docs/rabbitmq-multi.1.pod
+++ b/docs/rabbitmq-multi.1.pod
@@ -40,7 +40,7 @@ Start 3 local RabbitMQ nodes with unique, sequential port numbers:
=head1 SEE ALSO
-rabbitmq-server(1), rabbitmqctl(1)
+rabbitmq.conf(5), rabbitmq-server(1), rabbitmqctl(1)
=head1 AUTHOR
diff --git a/docs/rabbitmq-server.1.pod b/docs/rabbitmq-server.1.pod
index 96f713dd..23b9ae85 100644
--- a/docs/rabbitmq-server.1.pod
+++ b/docs/rabbitmq-server.1.pod
@@ -53,7 +53,7 @@ Defaults to 5672.
=item B<RABBITMQ_CLUSTER_CONFIG_FILE>
-Defaults to /etc/default/rabbitmq_cluster.config. If this file is
+Defaults to /etc/rabbitmq/rabbitmq_cluster.config. If this file is
present it is used by the server to auto-configure a RabbitMQ
cluster. See the L<clustering guide|http://www.rabbitmq.com/clustering.html>
for details.
@@ -72,7 +72,7 @@ Run RabbitMQ AMQP server in the background:
=head1 SEE ALSO
-rabbitmq-multi(1), rabbitmqctl(1)
+rabbitmq.conf(5), rabbitmq-multi(1), rabbitmqctl(1)
=head1 AUTHOR
diff --git a/docs/rabbitmq.5.pod b/docs/rabbitmq.conf.5.pod
index e6972935..9b2536c3 100644
--- a/docs/rabbitmq.5.pod
+++ b/docs/rabbitmq.conf.5.pod
@@ -1,10 +1,10 @@
=head1 NAME
-/etc/default/rabbitmq - default settings for RabbitMQ AMQP server
+/etc/rabbitmq/rabbitmq.conf - default settings for RabbitMQ AMQP server
=head1 DESCRIPTION
-/etc/default/rabbitmq contains variable settings that override the
+/etc/rabbitmq/rabbitmq.conf contains variable settings that override the
defaults built in to the RabbitMQ startup scripts.
The file is interpreted by the system shell, and so should consist of
@@ -13,29 +13,29 @@ syntax is permitted (since the file is sourced using the shell "."
operator), including line comments starting with "#".
In order of preference, the startup scripts get their values from the
-environment, from /etc/default/rabbitmq, and finally from the built-in
-default values. For example, for the B<RABBITMQ_NODENAME> setting,
+environment, from /etc/rabbitmq/rabbitmq.conf and finally from the
+built-in default values. For example, for the B<RABBITMQ_NODENAME> setting,
B<RABBITMQ_NODENAME>
- from the environment is checked first. If it is absent or equal
- to the empty string, then
+ from the environment is checked first. If it is absent or equal to
+ the empty string, then
B<NODENAME>
- from /etc/default/rabbitmq is checked next. If it is also absent
- or set equal to the empty string, then the default value from the
- startup script is used.
+ from /etc/rabbitmq/rabbitmq.conf is checked. If it is also absent
+ or set equal to the empty string then the default value from
+ the startup script is used.
-The variable names in /etc/default/rabbitmq are always equal to the
+The variable names in /etc/rabbitmq/rabbitmq.conf are always equal to the
environment variable names, with the B<RABBITMQ_> prefix removed:
B<RABBITMQ_NODE_PORT> from the environment becomes B<NODE_PORT> in the
-/etc/default/rabbitmq file, etc.
+/etc/rabbitmq/rabbitmq.conf file, etc.
=head1 EXAMPLES
-The following is an example of a complete /etc/default/rabbitmq file
+The following is an example of a complete /etc/rabbitmq/rabbitmq.conf file
that overrides the default Erlang node name from "rabbit" to "hare":
- # I am a complete /etc/default/rabbitmq file.
+ # I am a complete /etc/rabbitmq/rabbitmq.conf file.
# Comment lines start with a hash character.
# This is a /bin/sh script file - use ordinary envt var syntax
NODENAME=hare
@@ -46,7 +46,7 @@ rabbitmq-server(1), rabbitmq-multi(1), rabbitmqctl(1)
=head1 AUTHOR
-Originally written by The RabbitMQ Team <info@lshift.net>
+Originally written by The RabbitMQ Team <info@rabbitmq.com>
=head1 COPYRIGHT
diff --git a/docs/rabbitmqctl.1.pod b/docs/rabbitmqctl.1.pod
index af540b3e..c9c94dd8 100644
--- a/docs/rabbitmqctl.1.pod
+++ b/docs/rabbitmqctl.1.pod
@@ -109,8 +109,9 @@ add_vhost I<vhostpath>
delete_vhost I<vhostpath>
delete a virtual host I<vhostpath>.
- That command deletes also all its exchanges, queues and user mappings.
-
+ That command deletes also all its exchanges, queues and user
+ mappings.
+
list_vhosts
list all virtual hosts.
@@ -339,7 +340,7 @@ them:
=head1 SEE ALSO
-rabbitmq-multi(1), rabbitmq-server(1)
+rabbitmq.conf(5), rabbitmq-multi(1), rabbitmq-server(1)
=head1 AUTHOR
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile
index cf3a93df..9fe91b98 100644
--- a/packaging/RPMS/Fedora/Makefile
+++ b/packaging/RPMS/Fedora/Makefile
@@ -1,10 +1,11 @@
VERSION=0.0.0
SOURCE_TARBALL_DIR=../../../dist
+COMMON_DIR=../../common
TARBALL=$(SOURCE_TARBALL_DIR)/rabbitmq-server-$(VERSION).tar.gz
TOP_DIR=$(shell pwd)
#Under debian we do not want to check build dependencies, since that
#only checks build-dependencies using rpms, not debs
-DEFINES=--define '_topdir $(TOP_DIR)' --define '_tmppath $(TOP_DIR)/tmp' --define 'debian 1'
+DEFINES=--define '_topdir $(TOP_DIR)' --define '_tmppath $(TOP_DIR)/tmp' --define '_sysconfdir /etc' --define '_localstatedir /var'
ifndef RPM_OS
RPM_OS=fedora
@@ -30,13 +31,13 @@ prepare:
SPECS/rabbitmq-server.spec
cp init.d SOURCES/rabbitmq-server.init
- cp rabbitmqctl_wrapper SOURCES/rabbitmq-server.wrapper
+ cp ${COMMON_DIR}/* SOURCES/
cp rabbitmq-server.logrotate SOURCES/rabbitmq-server.logrotate
server: prepare
- rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) $(OS_DEFINES) \
+ rpmbuild -ba --nodeps SPECS/rabbitmq-server.spec $(DEFINES) $(OS_DEFINES) \
--target i386
- rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) $(OS_DEFINES) \
+ rpmbuild -ba --nodeps SPECS/rabbitmq-server.spec $(DEFINES) $(OS_DEFINES) \
--define '_libdir /usr/lib64' --define '_arch x86_64' \
--define '_defaultdocdir /usr/share/doc' --target x86_64
diff --git a/packaging/RPMS/Fedora/init.d b/packaging/RPMS/Fedora/init.d
index 4f2b0adf..d624e7c7 100644
--- a/packaging/RPMS/Fedora/init.d
+++ b/packaging/RPMS/Fedora/init.d
@@ -2,23 +2,20 @@
#
# rabbitmq-server RabbitMQ broker
#
-#chkconfig: 2345 80 05
-#description: Enable AMQP service provided by RabbitMQ
+# chkconfig: - 80 05
+# description: Enable AMQP service provided by RabbitMQ
#
### BEGIN INIT INFO
-# Provides: rabbitmq
+# 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
PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DAEMON_NAME=rabbitmq-multi
-DAEMON=/usr/lib/rabbitmq/bin/$DAEMON_NAME
+DAEMON=/usr/sbin/rabbitmq-multi
NAME=rabbitmq-server
DESC=rabbitmq-server
USER=rabbitmq
@@ -30,8 +27,8 @@ LOCK_FILE=/var/lock/subsys/$NAME
test -x $DAEMON || exit 0
# Include rabbitmq defaults if available
-if [ -f /etc/default/rabbitmq ] ; then
- . /etc/default/rabbitmq
+if [ -f /etc/sysconfig/rabbitmq ] ; then
+ . /etc/sysconfig/rabbitmq
fi
RETVAL=0
@@ -40,7 +37,7 @@ cd /
start_rabbitmq () {
set +e
- su $USER -s /bin/sh -c "$DAEMON start_all ${NODE_COUNT}" > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
+ $DAEMON start_all ${NODE_COUNT} > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
case "$?" in
0)
echo SUCCESS && touch $LOCK_FILE
@@ -62,7 +59,7 @@ stop_rabbitmq () {
set +e
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
- su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
+ $DAEMON stop_all > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
RETVAL=$?
if [ $RETVAL != 0 ] ; then
echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
@@ -79,9 +76,9 @@ stop_rabbitmq () {
status_rabbitmq() {
set +e
if [ "$1" != "quiet" ] ; then
- su $USER -s /bin/sh -c "$DAEMON status" 2>&1
+ $DAEMON status 2>&1
else
- su $USER -s /bin/sh -c "$DAEMON status" > /dev/null 2>&1
+ $DAEMON status > /dev/null 2>&1
fi
if [ $? != 0 ] ; then
RETVAL=1
@@ -91,7 +88,10 @@ status_rabbitmq() {
rotate_logs_rabbitmq() {
set +e
- su $USER -s /bin/sh -c "$DAEMON rotate_logs ${ROTATE_SUFFIX}" 2>&1
+ $DAEMON rotate_logs ${ROTATE_SUFFIX}
+ if [ $? != 0 ] ; then
+ RETVAL=1
+ fi
set -e
}
@@ -130,7 +130,7 @@ case "$1" in
;;
*)
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
- RETVAL=1
+ RETVAL=2
;;
esac
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.logrotate b/packaging/RPMS/Fedora/rabbitmq-server.logrotate
index ab87e4a5..6b657614 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.logrotate
+++ b/packaging/RPMS/Fedora/rabbitmq-server.logrotate
@@ -7,6 +7,6 @@
notifempty
sharedscripts
postrotate
- /sbin/service rabbitmq-server rotate-logs
+ /sbin/service rabbitmq-server rotate-logs > /dev/null
endscript
}
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec
index fc109bdb..3695c690 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.spec
+++ b/packaging/RPMS/Fedora/rabbitmq-server.spec
@@ -1,3 +1,5 @@
+%define debug_package %{nil}
+
Name: rabbitmq-server
Version: %%VERSION%%
Release: 1%%RELEASE_OS%%
@@ -5,16 +7,11 @@ License: MPLv1.1
Group: Development/Libraries
Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz
Source1: rabbitmq-server.init
-Source2: rabbitmq-server.wrapper
+Source2: rabbitmq-script-wrapper
Source3: rabbitmq-server.logrotate
URL: http://www.rabbitmq.com/
-Vendor: LShift Ltd., Cohesive Financial Technologies LLC., Rabbit Technlogies Ltd.
-%if 0%{?debian}
-%else
BuildRequires: erlang, python-simplejson
-%endif
Requires: erlang, logrotate
-Packager: Hubert Plociniczak <hubert@lshift.net>
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root
Summary: The RabbitMQ server
Requires(post): %%REQUIRES%%
@@ -38,10 +35,12 @@ if [ $1 -gt 1 ]; then
fi
%prep
-%setup -n %{name}-%{version}
+%setup -q
+sed -i 's|/usr/lib/|%{_libdir}/|' %{S:1}
+sed -i 's|/usr/lib/|%{_libdir}/|' %{S:2}
%build
-make
+make %{?_smp_mflags}
%install
rm -rf %{buildroot}
@@ -50,21 +49,18 @@ make install TARGET_DIR=%{_maindir} \
SBIN_DIR=%{buildroot}%{_rabbit_libdir}/bin \
MAN_DIR=%{buildroot}%{_mandir}
-mkdir -p %{buildroot}/var/lib/rabbitmq/mnesia
-mkdir -p %{buildroot}/var/log/rabbitmq
-mkdir -p %{buildroot}%{_initrddir}
+mkdir -p %{buildroot}%{_localstatedir}/lib/rabbitmq/mnesia
+mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq
#Copy all necessary lib files etc.
-install -m 0755 %SOURCE1 %{buildroot}%{_initrddir}/rabbitmq-server
-chmod 0755 %{buildroot}%{_initrddir}/rabbitmq-server
-sed -i 's|/usr/lib/|%{_libdir}/|' %{buildroot}%{_initrddir}/rabbitmq-server
+install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server
+install -p -D -m 0755 %{S:2} %{buildroot}%{_sbindir}/rabbitmqctl
+install -p -D -m 0755 %{S:2} %{buildroot}%{_sbindir}/rabbitmq-server
+install -p -D -m 0755 %{S:2} %{buildroot}%{_sbindir}/rabbitmq-multi
-mkdir -p %{buildroot}%{_sbindir}
-install -m 0755 %SOURCE2 %{buildroot}%{_sbindir}/rabbitmqctl
-sed -i 's|/usr/lib/|%{_libdir}/|' %{buildroot}%{_sbindir}/rabbitmqctl
+install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
-mkdir -p %{buildroot}/etc/logrotate.d
-install -m 0644 %SOURCE3 %{buildroot}/etc/logrotate.d/rabbitmq-server
+mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
rm %{_maindir}/LICENSE %{_maindir}/LICENSE-MPL-RabbitMQ %{_maindir}/INSTALL
@@ -72,7 +68,7 @@ rm %{_maindir}/LICENSE %{_maindir}/LICENSE-MPL-RabbitMQ %{_maindir}/INSTALL
rm -f %{_builddir}/filelist.%{name}.rpm
echo '%defattr(-,root,root, -)' >> %{_builddir}/filelist.%{name}.rpm
(cd %{buildroot}; \
- find . -type f ! -regex '\./etc.*' \
+ find . -type f ! -regex '\.%{_sysconfdir}.*' \
! -regex '\.\(%{_rabbit_erllibdir}\|%{_rabbit_libdir}\).*' \
| sed -e 's/^\.//' >> %{_builddir}/filelist.%{name}.rpm)
@@ -84,15 +80,11 @@ fi
# create rabbitmq user
if ! getent passwd rabbitmq >/dev/null; then
- useradd -r -g rabbitmq --home /var/lib/rabbitmq rabbitmq
- usermod -c "RabbitMQ messaging server" rabbitmq
+ useradd -r -g rabbitmq -d %{_localstatedir}/lib/rabbitmq rabbitmq \
+ -c "RabbitMQ messaging server" rabbitmq
fi
-chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
-chown -R rabbitmq:rabbitmq /var/log/rabbitmq
-
/sbin/chkconfig --add %{name}
-/sbin/service rabbitmq-server start
%preun
if [ $1 = 0 ]; then
@@ -106,18 +98,27 @@ fi
%files -f ../filelist.%{name}.rpm
%defattr(-,root,root,-)
-%dir /var/lib/rabbitmq
-%dir /var/log/rabbitmq
+%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
+%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq
+%dir %{_localstatedir}/lib/rabbitmq
+%dir %{_localstatedir}/log/rabbitmq
+%dir %{_sysconfdir}/rabbitmq
%{_rabbit_erllibdir}
%{_rabbit_libdir}
%{_initrddir}/rabbitmq-server
-%config(noreplace) /etc/logrotate.d/rabbitmq-server
+%config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
%doc LICENSE LICENSE-MPL-RabbitMQ INSTALL
%clean
rm -rf %{buildroot}
%changelog
+* Tue Feb 24 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.3-1
+- Maintenance release for the 1.5.x series
+
+* Mon Feb 23 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.2-1
+- Maintenance release for the 1.5.x series
+
* Mon Jan 19 2009 Ben Hood <0x6e6562@gmail.com> 1.5.1-1
- Maintenance release for the 1.5.x series
diff --git a/packaging/RPMS/Fedora/rabbitmqctl_wrapper b/packaging/RPMS/Fedora/rabbitmqctl_wrapper
deleted file mode 100644
index 6b387d29..00000000
--- a/packaging/RPMS/Fedora/rabbitmqctl_wrapper
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-# Escape spaces and quotes, because shell is revolting.
-for arg in "$@" ; do
- # Escape quotes in parameters, so that they're passed through cleanly.
- arg=$(sed -e 's/"/\\"/' <<-END
- $arg
- END
- )
- CMDLINE="${CMDLINE} \"${arg}\""
-done
-
-cd /
-if [ `id -u` = 0 ] ; then
- su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/rabbitmqctl ${CMDLINE}"
-else
- /usr/lib/rabbitmq/bin/rabbitmqctl
- echo -e "\nOnly root should run rabbitmqctl\n"
- exit 1
-fi
diff --git a/packaging/debs/Debian/debian/rabbitmqctl_wrapper b/packaging/common/rabbitmq-script-wrapper
index d53a6ca9..217d1658 100644
--- a/packaging/debs/Debian/debian/rabbitmqctl_wrapper
+++ b/packaging/common/rabbitmq-script-wrapper
@@ -11,11 +11,13 @@ done
cd /
+SCRIPT=`basename $0`
+
if [ `id -u` = 0 ] ; then
- su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/rabbitmqctl ${CMDLINE}"
+ su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}"
else
- /usr/lib/rabbitmq/bin/rabbitmqctl
- echo -e "\nOnly root should run rabbitmqctl\n"
+ /usr/lib/rabbitmq/bin/${SCRIPT}
+ echo -e "\nOnly root should run ${SCRIPT}\n"
exit 1
fi
diff --git a/packaging/debs/Debian/Makefile b/packaging/debs/Debian/Makefile
index 9479feb0..67fabae0 100644
--- a/packaging/debs/Debian/Makefile
+++ b/packaging/debs/Debian/Makefile
@@ -1,5 +1,6 @@
TARBALL_DIR=../../../dist
TARBALL=$(shell (cd $(TARBALL_DIR); echo rabbitmq-server-[0-9]*.tar.gz))
+COMMON_DIR=../../common
DEBIAN_ORIG_TARBALL=$(shell echo $(TARBALL) | sed -e 's:\(.*\)-\(.*\)\(\.tar\.gz\):\1_\2\.orig\3:g')
VERSION=$(shell echo $(TARBALL) | sed -e 's:rabbitmq-server-\(.*\)\.tar\.gz:\1:g')
UNPACKED_DIR=rabbitmq-server-$(VERSION)
@@ -19,6 +20,7 @@ package: clean
cp $(TARBALL_DIR)/$(TARBALL) $(DEBIAN_ORIG_TARBALL)
tar -zxvf $(DEBIAN_ORIG_TARBALL)
cp -r debian $(UNPACKED_DIR)
+ cp $(COMMON_DIR)/* $(UNPACKED_DIR)/debian/
chmod a+x $(UNPACKED_DIR)/debian/rules
UNOFFICIAL_RELEASE=$(UNOFFICIAL_RELEASE) VERSION=$(VERSION) ./check-changelog.sh rabbitmq-server $(UNPACKED_DIR)
cd $(UNPACKED_DIR); GNUPGHOME=$(GNUPG_PATH)/.gnupg dpkg-buildpackage -rfakeroot $(SIGNING)
diff --git a/packaging/debs/Debian/debian/changelog b/packaging/debs/Debian/debian/changelog
index 37b01dab..3be25f48 100644
--- a/packaging/debs/Debian/debian/changelog
+++ b/packaging/debs/Debian/debian/changelog
@@ -1,3 +1,15 @@
+rabbitmq-server (1.5.3-1) hardy; urgency=low
+
+ * New Upstream Release
+
+ -- Tony Garnock-Jones <tonyg@lshift.net> Tue, 24 Feb 2009 18:23:33 +0000
+
+rabbitmq-server (1.5.2-1) hardy; urgency=low
+
+ * New Upstream Release
+
+ -- Tony Garnock-Jones <tonyg@lshift.net> Mon, 23 Feb 2009 16:03:38 +0000
+
rabbitmq-server (1.5.1-1) hardy; urgency=low
* New Upstream Release
diff --git a/packaging/debs/Debian/debian/copyright b/packaging/debs/Debian/debian/copyright
index f9a2b651..854db290 100644
--- a/packaging/debs/Debian/debian/copyright
+++ b/packaging/debs/Debian/debian/copyright
@@ -3,14 +3,26 @@ Wed, 3 Jan 2007 15:43:44 +0000.
It was downloaded from http://www.rabbitmq.com/
-Upstream Author: The RabbitMQ team <info@rabbitmq.com>
+codegen/amqp-0.8.json is released under the MIT License and is
+Copyright (C) 2008-2009 LShift Ltd, Cohesive Financial Technologies
+LLC, and Rabbit Technologies Ltd.
-Copyright: 2006-2009 Rabbit Technologies Ltd.
+The rest of this package is licensed under the Mozilla Public License 1.1
+Authors and Copyright are as described below:
-License:
-The RabbitMQ server is licensed under the MPL.
+ The Initial Developers of the Original Code are LShift Ltd,
+ Cohesive Financial Technologies LLC, and Rabbit Technologies Ltd.
+ Portions created before 22-Nov-2008 00:00:00 GMT by LShift Ltd,
+ Cohesive Financial Technologies LLC, or Rabbit Technologies Ltd
+ are Copyright (C) 2007-2008 LShift Ltd, Cohesive Financial
+ Technologies LLC, and Rabbit Technologies Ltd.
+ Portions created by LShift Ltd are Copyright (C) 2007-2009 LShift
+ Ltd. Portions created by Cohesive Financial Technologies LLC are
+ Copyright (C) 2007-2009 Cohesive Financial Technologies
+ LLC. Portions created by Rabbit Technologies Ltd are Copyright
+ (C) 2007-2009 Rabbit Technologies Ltd.
MOZILLA PUBLIC LICENSE
diff --git a/packaging/debs/Debian/debian/dirs b/packaging/debs/Debian/debian/dirs
index 1a707bc1..625b7d41 100644
--- a/packaging/debs/Debian/debian/dirs
+++ b/packaging/debs/Debian/debian/dirs
@@ -5,4 +5,5 @@ usr/share/man
var/lib/rabbitmq/mnesia
var/log/rabbitmq
etc/logrotate.d
+etc/rabbitmq
diff --git a/packaging/debs/Debian/debian/init.d b/packaging/debs/Debian/debian/init.d
index 1542942d..ef66add5 100644
--- a/packaging/debs/Debian/debian/init.d
+++ b/packaging/debs/Debian/debian/init.d
@@ -10,7 +10,7 @@
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DAEMON=/usr/lib/rabbitmq/bin/rabbitmq-multi
+DAEMON=/usr/sbin/rabbitmq-multi
NAME=rabbitmq-server
DESC=rabbitmq-server
USER=rabbitmq
@@ -30,7 +30,7 @@ cd /
start_rabbitmq () {
set +e
- su $USER -s /bin/sh -c "$DAEMON start_all ${NODE_COUNT}" > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
+ $DAEMON start_all ${NODE_COUNT} > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
case "$?" in
0)
echo SUCCESS
@@ -52,7 +52,7 @@ stop_rabbitmq () {
set +e
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
- su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
+ $DAEMON stop_all > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
RETVAL=$?
if [ $RETVAL != 0 ] ; then
echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
@@ -67,9 +67,9 @@ stop_rabbitmq () {
status_rabbitmq() {
set +e
if [ "$1" != "quiet" ] ; then
- su $USER -s /bin/sh -c "$DAEMON status" 2>&1
+ $DAEMON status 2>&1
else
- su $USER -s /bin/sh -c "$DAEMON status" > /dev/null 2>&1
+ $DAEMON status > /dev/null 2>&1
fi
if [ $? != 0 ] ; then
RETVAL=1
@@ -79,7 +79,10 @@ status_rabbitmq() {
rotate_logs_rabbitmq() {
set +e
- su $USER -s /bin/sh -c "$DAEMON rotate_logs ${ROTATE_SUFFIX}" 2>&1
+ $DAEMON rotate_logs ${ROTATE_SUFFIX}
+ if [ $? != 0 ] ; then
+ RETVAL=1
+ fi
set -e
}
diff --git a/packaging/debs/Debian/debian/postrm b/packaging/debs/Debian/debian/postrm
index 8d1e92a9..a999d95b 100644
--- a/packaging/debs/Debian/debian/postrm
+++ b/packaging/debs/Debian/debian/postrm
@@ -31,6 +31,9 @@ case "$1" in
if [ -d /var/run/rabbitmq ]; then
rm -r /var/run/rabbitmq
fi
+ if [ -d /etc/rabbitmq ]; then
+ rm -r /etc/rabbitmq
+ fi
if getent passwd rabbitmq >/dev/null; then
deluser rabbitmq
fi
diff --git a/packaging/debs/Debian/debian/rabbitmq-server.logrotate b/packaging/debs/Debian/debian/rabbitmq-server.logrotate
index bfd6b8da..c786df77 100644
--- a/packaging/debs/Debian/debian/rabbitmq-server.logrotate
+++ b/packaging/debs/Debian/debian/rabbitmq-server.logrotate
@@ -7,6 +7,6 @@
notifempty
sharedscripts
postrotate
- /etc/init.d/rabbitmq-server rotate-logs
+ /etc/init.d/rabbitmq-server rotate-logs > /dev/null
endscript
}
diff --git a/packaging/debs/Debian/debian/rules b/packaging/debs/Debian/debian/rules
index 908ec481..31904851 100644
--- a/packaging/debs/Debian/debian/rules
+++ b/packaging/debs/Debian/debian/rules
@@ -14,5 +14,6 @@ DOCDIR=$(DEB_DESTDIR)usr/share/doc/rabbitmq-server/
install/rabbitmq-server::
mkdir -p $(DOCDIR)
rm $(RABBIT_LIB)LICENSE*
- cp debian/rabbitmqctl_wrapper $(DEB_DESTDIR)usr/sbin/rabbitmqctl
- chmod a+x $(DEB_DESTDIR)usr/sbin/rabbitmqctl
+ 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/net/rabbitmq-server/Portfile b/packaging/macports/net/rabbitmq-server/Portfile
index 82ae62aa..d9d16dbb 100644
--- a/packaging/macports/net/rabbitmq-server/Portfile
+++ b/packaging/macports/net/rabbitmq-server/Portfile
@@ -1,79 +1,98 @@
-# $Id$ -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
-
-PortSystem 1.0
-name rabbitmq-server
-version 1.3.0
-revision 0
-categories net
-maintainers tonyg@rabbitmq.com
-platforms darwin
-description The RabbitMQ AMQP Server
-long_description \
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem 1.0
+
+name rabbitmq-server
+version 1.5.3
+categories net
+maintainers tonyg@rabbitmq.com
+platforms darwin
+description The RabbitMQ AMQP Server
+long_description \
RabbitMQ is an implementation of AMQP, the emerging standard for \
high performance enterprise messaging. The RabbitMQ server is a \
robust and scalable implementation of an AMQP broker.
-homepage http://www.rabbitmq.com/
-master_sites http://www.rabbitmq.com/releases/source/
-distname rabbitmq-${version}
+homepage http://www.rabbitmq.com/
+master_sites http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/
checksums \
- md5 46ee6dbbacdc67b25cc6ccd9c394b6f2 \
- sha1 67e1e640136a1993567ace97dc5f67b1ad8e6304 \
- rmd160 9e92502d36ab5cd1e3f0d39a46bb512b9440f35a
+ md5 3242a67885c2471b5ab62254bf024679 \
+ sha1 f4d6a01eaa2c74fa32f567fe410d21d9be1b43aa \
+ rmd160 1a1c4b97d765548028c161d1617905151ca9e040
-depends_build port:erlang
-depends_run port:erlang
+depends_build port:erlang port:py25-simplejson
+depends_run port:erlang
-use_configure no
+set serveruser rabbitmq
+set servergroup rabbitmq
+set serverhome ${prefix}/var/lib/rabbitmq
+set logdir ${prefix}/var/log/rabbitmq
+set mnesiadbdir ${prefix}/var/lib/rabbitmq/mnesia
+set plistloc ${prefix}/etc/LaunchDaemons/org.macports.rabbitmq-server
-worksrcdir rabbitmq-${version}/erlang/rabbit
+use_configure no
use_parallel_build yes
+build.args PYTHON=${prefix}/bin/python2.5
+
destroot.destdir \
- DIST_DIR=${destroot}${prefix}/lib/erlang/lib/rabbitmq_server-${version} \
- SBIN_DIR=${destroot}${prefix}/sbin
-destroot.target dist-unix
+ TARGET_DIR=${destroot}${prefix}/lib/erlang/lib/rabbitmq_server-${version} \
+ SBIN_DIR=${destroot}${prefix}/sbin \
+ MAN_DIR=${destroot}${prefix}/share/man
destroot.keepdirs \
- ${destroot}${prefix}/var/lib/rabbitmq/pids \
- ${destroot}${prefix}/var/log/rabbitmq \
- ${destroot}${prefix}/var/lib/rabbitmq/mnesia
+ ${destroot}${logdir} \
+ ${destroot}${mnesiadbdir}
pre-destroot {
- addgroup rabbitmq
- adduser rabbitmq gid=[existsgroup rabbitmq] realname=RabbitMQ\ Server home=${prefix}/var/lib/rabbitmq
+ addgroup ${servergroup}
+ adduser ${serveruser} gid=[existsgroup ${servergroup}] realname=RabbitMQ\ Server home=${serverhome}
}
post-destroot {
- xinstall -d ${destroot}${prefix}/etc/default
- xinstall -d -g [existsgroup rabbitmq] -m 775 ${destroot}${prefix}/var/log/rabbitmq
- xinstall -d -g [existsgroup rabbitmq] -m 775 ${destroot}${prefix}/var/lib/rabbitmq
- xinstall -d -g [existsgroup rabbitmq] -m 775 ${destroot}${prefix}/var/lib/rabbitmq/pids
- xinstall -d -g [existsgroup rabbitmq] -m 775 ${destroot}${prefix}/var/lib/rabbitmq/mnesia
- file rename ${destroot}${prefix}/sbin/rabbitmqctl ${destroot}${prefix}/sbin/rabbitmqctl_real
- xinstall -m 555 ${filespath}/rabbitmqctl_wrapper ${destroot}${prefix}/sbin
- file rename ${destroot}${prefix}/sbin/rabbitmqctl_wrapper ${destroot}${prefix}/sbin/rabbitmqctl
- file copy ${filespath}/rabbitmq-defaults ${destroot}${prefix}/etc/default/rabbitmq
- reinplace "s:^CLUSTER_CONFIG_FILE=:CLUSTER_CONFIG_FILE=${prefix}:" \
+ xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${logdir}
+ xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${serverhome}
+ xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${mnesiadbdir}
+
+ reinplace -E "s:(/etc/rabbitmq/rabbitmq.conf):${prefix}\\1:g" \
+ ${destroot}${prefix}/sbin/rabbitmq-multi \
+ ${destroot}${prefix}/sbin/rabbitmq-server \
+ ${destroot}${prefix}/sbin/rabbitmqctl
+ reinplace -E "s:(RABBITMQ_CLUSTER_CONFIG_FILE)=/:\\1=${prefix}/:" \
+ ${destroot}${prefix}/sbin/rabbitmq-multi \
+ ${destroot}${prefix}/sbin/rabbitmq-server \
+ ${destroot}${prefix}/sbin/rabbitmqctl
+ reinplace -E "s:(RABBITMQ_LOG_BASE)=/:\\1=${prefix}/:" \
+ ${destroot}${prefix}/sbin/rabbitmq-multi \
+ ${destroot}${prefix}/sbin/rabbitmq-server \
+ ${destroot}${prefix}/sbin/rabbitmqctl
+ reinplace -E "s:(RABBITMQ_MNESIA_BASE)=/:\\1=${prefix}/:" \
${destroot}${prefix}/sbin/rabbitmq-multi \
${destroot}${prefix}/sbin/rabbitmq-server \
- ${destroot}${prefix}/sbin/rabbitmqctl \
- ${destroot}${prefix}/sbin/rabbitmqctl_real
- reinplace "s:^CONFIG_FILE=:CONFIG_FILE=${prefix}:" \
+ ${destroot}${prefix}/sbin/rabbitmqctl
+ reinplace -E "s:(RABBITMQ_PIDS_FILE)=/:\\1=${prefix}/:" \
${destroot}${prefix}/sbin/rabbitmq-multi \
${destroot}${prefix}/sbin/rabbitmq-server \
- ${destroot}${prefix}/sbin/rabbitmqctl \
- ${destroot}${prefix}/sbin/rabbitmqctl_real
- reinplace "s|@PREFIX@|${prefix}|" \
- ${destroot}${prefix}/sbin/rabbitmqctl \
- ${destroot}${prefix}/etc/default/rabbitmq
+ ${destroot}${prefix}/sbin/rabbitmqctl
+
+ file rename ${destroot}${prefix}/sbin/rabbitmqctl ${destroot}${prefix}/sbin/rabbitmqctl_real
+ xinstall -m 555 ${filespath}/rabbitmqctl_wrapper ${destroot}${prefix}/sbin
+ file rename ${destroot}${prefix}/sbin/rabbitmqctl_wrapper ${destroot}${prefix}/sbin/rabbitmqctl
+
+ reinplace -E "s:@PREFIX@:${prefix}:" \
+ ${destroot}${prefix}/sbin/rabbitmqctl
+}
+
+pre-install {
+ system "cd ${destroot}${plistloc}; patch <${filespath}/patch-org.macports.rabbitmq-server.plist.diff"
}
startupitem.create yes
startupitem.init "PATH=${prefix}/bin:${prefix}/sbin:\$PATH; export PATH"
-startupitem.start "su rabbitmq -c rabbitmq-server 2>&1"
+startupitem.start "rabbitmq-server 2>&1"
startupitem.stop "rabbitmqctl stop 2>&1"
startupitem.logfile ${prefix}/var/log/rabbitmq/startupitem.log
diff --git a/packaging/macports/net/rabbitmq-server/files/patch-org.macports.rabbitmq-server.plist.diff b/packaging/macports/net/rabbitmq-server/files/patch-org.macports.rabbitmq-server.plist.diff
new file mode 100644
index 00000000..45b49496
--- /dev/null
+++ b/packaging/macports/net/rabbitmq-server/files/patch-org.macports.rabbitmq-server.plist.diff
@@ -0,0 +1,10 @@
+--- org.macports.rabbitmq-server.plist.old 2009-02-26 08:00:31.000000000 -0800
++++ org.macports.rabbitmq-server.plist 2009-02-26 08:01:27.000000000 -0800
+@@ -22,6 +22,7 @@
+ <string>;</string>
+ <string>--pid=none</string>
+ </array>
++<key>UserName</key><string>rabbitmq</string>
+ <key>Debug</key><false/>
+ <key>Disabled</key><true/>
+ <key>OnDemand</key><false/>
diff --git a/packaging/macports/net/rabbitmq-server/files/rabbitmq-defaults b/packaging/macports/net/rabbitmq-server/files/rabbitmq-defaults
deleted file mode 100644
index 1f9aad11..00000000
--- a/packaging/macports/net/rabbitmq-server/files/rabbitmq-defaults
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-# defaults file for rabbitmq-server
-#
-
-PIDS_FILE=@PREFIX@/var/lib/rabbitmq/pids
-LOG_BASE=@PREFIX@/var/log/rabbitmq
-MNESIA_BASE=@PREFIX@/var/lib/rabbitmq/mnesia
diff --git a/packaging/macports/net/rabbitmq-server/files/rabbitmqctl_wrapper b/packaging/macports/net/rabbitmq-server/files/rabbitmqctl_wrapper
index 392c82ff..1996811e 100644
--- a/packaging/macports/net/rabbitmq-server/files/rabbitmqctl_wrapper
+++ b/packaging/macports/net/rabbitmq-server/files/rabbitmqctl_wrapper
@@ -1,13 +1,2 @@
#!/bin/bash
-# Escape spaces and quotes, because shell is revolting.
-for arg in "$@" ; do
- # Escape quotes in parameters, so that they're passed through cleanly.
- arg=$(sed -e 's/"/\\"/' <<-END
- $arg
- END
- )
- CMDLINE="${CMDLINE} \"${arg}\""
-done
-
-cd /
-exec su rabbitmq -c "@PREFIX@/sbin/rabbitmqctl_real ${CMDLINE}"
+exec sudo -H -u rabbitmq "@PREFIX@/sbin/rabbitmqctl_real" "$@"
diff --git a/scripts/rabbitmq-multi b/scripts/rabbitmq-multi
index 164c5e18..4cf0703a 100755
--- a/scripts/rabbitmq-multi
+++ b/scripts/rabbitmq-multi
@@ -30,7 +30,7 @@
## Contributor(s): ______________________________________.
##
-[ -f /etc/default/rabbitmq ] && . /etc/default/rabbitmq
+[ -f /etc/rabbitmq/rabbitmq.conf ] && . /etc/rabbitmq/rabbitmq.conf
[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME}
[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=rabbit
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 9a35c477..6273804f 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -30,7 +30,7 @@
## Contributor(s): ______________________________________.
##
-[ -f /etc/default/rabbitmq ] && . /etc/default/rabbitmq
+[ -f /etc/rabbitmq/rabbitmq.conf ] && . /etc/rabbitmq/rabbitmq.conf
[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME}
[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=rabbit
@@ -43,7 +43,7 @@
-kernel inet_default_listen_options [{nodelay,true},{sndbuf,16384},{recbuf,4096}] \
-kernel inet_default_connect_options [{nodelay,true}]"
[ "x" = "x$RABBITMQ_CLUSTER_CONFIG_FILE" ] && RABBITMQ_CLUSTER_CONFIG_FILE=${CLUSTER_CONFIG_FILE}
-[ "x" = "x$RABBITMQ_CLUSTER_CONFIG_FILE" ] && RABBITMQ_CLUSTER_CONFIG_FILE=/etc/default/rabbitmq_cluster.config
+[ "x" = "x$RABBITMQ_CLUSTER_CONFIG_FILE" ] && RABBITMQ_CLUSTER_CONFIG_FILE=/etc/rabbitmq/rabbitmq_cluster.config
[ "x" = "x$RABBITMQ_LOG_BASE" ] && RABBITMQ_LOG_BASE=${LOG_BASE}
[ "x" = "x$RABBITMQ_LOG_BASE" ] && RABBITMQ_LOG_BASE=/var/log/rabbitmq
[ "x" = "x$RABBITMQ_MNESIA_BASE" ] && RABBITMQ_MNESIA_BASE=${MNESIA_BASE}
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 12ee299e..9f642e35 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -231,8 +231,12 @@ start_connection(Parent, Deb, ClientSock) ->
connection_state = pre_init},
handshake, 8))
catch
- Ex -> rabbit_log:error("error on TCP connection ~p from ~s:~p~n~p~n",
- [self(), PeerAddressS, PeerPort, Ex])
+ Ex -> (if Ex == connection_closed_abruptly ->
+ fun rabbit_log:warning/2;
+ true ->
+ fun rabbit_log:error/2
+ end)("exception on TCP connection ~p from ~s:~p~n~p~n",
+ [self(), PeerAddressS, PeerPort, Ex])
after
rabbit_log:info("closing TCP connection ~p from ~s:~p~n",
[self(), PeerAddressS, PeerPort]),