summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Powell <steve@rabbitmq.com>2012-02-17 11:10:00 +0000
committerSteve Powell <steve@rabbitmq.com>2012-02-17 11:10:00 +0000
commit680400fc52045d28cf1b2f9e1123a59e12e2a0d9 (patch)
treec9188b65bebdf6501469bea10153b778b3d708d8
parentee9f6d3f80103ba9d6a9692aebfe3202ce845407 (diff)
parent93dc85d4d90c5561c127e1cca880f21c40dfb3a7 (diff)
downloadrabbitmq-server-680400fc52045d28cf1b2f9e1123a59e12e2a0d9.tar.gz
Merge in default
-rw-r--r--Makefile2
-rw-r--r--packaging/RPMS/Fedora/Makefile21
-rw-r--r--packaging/debs/Debian/Makefile15
-rw-r--r--packaging/generic-unix/Makefile5
-rw-r--r--packaging/generic-unix/rabbitmq-sys34
-rw-r--r--packaging/macports/Makefile5
-rw-r--r--packaging/macports/Portfile.in17
-rwxr-xr-xpackaging/macports/make-port-diff.sh3
-rw-r--r--packaging/windows/Makefile2
-rwxr-xr-xscripts/rabbitmq-env30
-rw-r--r--scripts/rabbitmq-sys33
11 files changed, 121 insertions, 46 deletions
diff --git a/Makefile b/Makefile
index 5d019e7e..eda5babb 100644
--- a/Makefile
+++ b/Makefile
@@ -316,7 +316,7 @@ install_bin: all install_dirs
cp -r ebin include LICENSE* INSTALL $(TARGET_DIR)
chmod 0755 scripts/*
- for script in rabbitmq-env rabbitmq-server rabbitmqctl rabbitmq-plugins; do \
+ for script in rabbitmq-env rabbitmq-server rabbitmqctl rabbitmq-plugins rabbitmq-sys; do \
cp scripts/$$script $(TARGET_DIR)/sbin; \
[ -e $(SBIN_DIR)/$$script ] || ln -s $(SCRIPTS_REL_PATH)/$$script $(SBIN_DIR)/$$script; \
done
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile
index c67d8fd6..2031de4d 100644
--- a/packaging/RPMS/Fedora/Makefile
+++ b/packaging/RPMS/Fedora/Makefile
@@ -26,20 +26,23 @@ prepare:
mkdir -p BUILD SOURCES SPECS SRPMS RPMS tmp
cp $(TARBALL_DIR)/$(TARBALL) SOURCES
cp rabbitmq-server.spec SPECS
- sed -i 's|%%VERSION%%|$(VERSION)|;s|%%REQUIRES%%|$(REQUIRES)|' \
- SPECS/rabbitmq-server.spec
+ sed -e 's|%%VERSION%%|$(VERSION)|;s|%%REQUIRES%%|$(REQUIRES)|' \
+ SPECS/rabbitmq-server.spec >SPECS/rabbitmq-server.spec.tmp \
+ && mv SPECS/rabbitmq-server.spec.tmp SPECS/rabbitmq-server.spec
cp ${COMMON_DIR}/* SOURCES/
- sed -i \
- -e 's|^LOCK_FILE=.*$$|LOCK_FILE=/var/lock/subsys/$$NAME|' \
- SOURCES/rabbitmq-server.init
+ sed -e 's|^LOCK_FILE=.*$$|LOCK_FILE=/var/lock/subsys/$$NAME|' \
+ SOURCES/rabbitmq-server.init >SOURCES/rabbitmq-server.init.tmp \
+ && mv SOURCES/rabbitmq-server.init.tmp SOURCES/rabbitmq-server.init
ifeq "$(RPM_OS)" "fedora"
# Fedora says that only vital services should have Default-Start
- sed -i -e '/^# Default-Start:/d;/^# Default-Stop:/d' \
- SOURCES/rabbitmq-server.init
+ sed -e '/^# Default-Start:/d;/^# Default-Stop:/d' \
+ SOURCES/rabbitmq-server.init >SOURCES/rabbitmq-server.init.tmp \
+ && mv SOURCES/rabbitmq-server.init.tmp SOURCES/rabbitmq-server.init
endif
- sed -i -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
- SOURCES/rabbitmq-script-wrapper
+ sed -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
+ SOURCES/rabbitmq-script-wrapper >SOURCES/rabbitmq-script-wrapper.tmp \
+ && mv SOURCES/rabbitmq-script-wrapper.tmp SOURCES/rabbitmq-script-wrapper
cp rabbitmq-server.logrotate SOURCES/rabbitmq-server.logrotate
server: prepare
diff --git a/packaging/debs/Debian/Makefile b/packaging/debs/Debian/Makefile
index 79e9c1dd..de9cf400 100644
--- a/packaging/debs/Debian/Makefile
+++ b/packaging/debs/Debian/Makefile
@@ -24,13 +24,14 @@ package: clean
cp $(COMMON_DIR)/* $(UNPACKED_DIR)/debian/
# Debian and descendants differ from most other distros in that
# runlevel 2 should start network services.
- sed -i \
- -e 's|^LOCK_FILE=.*$$|LOCK_FILE=|' \
- -e 's|^\(# Default-Start:\).*$$|\1 2 3 4 5|' \
- -e 's|^\(# Default-Stop:\).*$$|\1 0 1 6|' \
- $(UNPACKED_DIR)/debian/rabbitmq-server.init
- sed -i -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
- $(UNPACKED_DIR)/debian/rabbitmq-script-wrapper
+ sed -e 's|^LOCK_FILE=.*$$|LOCK_FILE=|' \
+ -e 's|^\(# Default-Start:\).*$$|\1 2 3 4 5|' \
+ -e 's|^\(# Default-Stop:\).*$$|\1 0 1 6|' \
+ $(UNPACKED_DIR)/debian/rabbitmq-server.init >$(UNPACKED_DIR)/debian/rabbitmq-server.init.tmp \
+ && mv $(UNPACKED_DIR)/debian/rabbitmq-server.init.tmp $(UNPACKED_DIR)/debian/rabbitmq-server.init
+ sed -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
+ $(UNPACKED_DIR)/debian/rabbitmq-script-wrapper >$(UNPACKED_DIR)/debian/rabbitmq-script-wrapper.tmp \
+ && mv $(UNPACKED_DIR)/debian/rabbitmq-script-wrapper.tmp $(UNPACKED_DIR)/debian/rabbitmq-script-wrapper
chmod a+x $(UNPACKED_DIR)/debian/rules
echo "This package was debianized by Tony Garnock-Jones <tonyg@rabbitmq.com> on\nWed, 3 Jan 2007 15:43:44 +0000.\n\nIt was downloaded from http://www.rabbitmq.com/\n\n" > $(UNPACKED_DIR)/debian/copyright
cat $(UNPACKED_DIR)/LICENSE >> $(UNPACKED_DIR)/debian/copyright
diff --git a/packaging/generic-unix/Makefile b/packaging/generic-unix/Makefile
index b5c342aa..9014c3ad 100644
--- a/packaging/generic-unix/Makefile
+++ b/packaging/generic-unix/Makefile
@@ -12,6 +12,11 @@ dist:
MAN_DIR=`pwd`/$(TARGET_DIR)/share/man \
install
+ cp -f rabbitmq-sys $(TARGET_DIR)/sbin
+ chmod 0755 $(TARGET_DIR)/sbin/rabbitmq-sys
+
+ mkdir -p $(TARGET_DIR)/etc/rabbitmq
+
tar -zcf $(TARGET_TARBALL).tar.gz $(TARGET_DIR)
rm -rf $(SOURCE_DIR) $(TARGET_DIR)
diff --git a/packaging/generic-unix/rabbitmq-sys b/packaging/generic-unix/rabbitmq-sys
new file mode 100644
index 00000000..a89ed33f
--- /dev/null
+++ b/packaging/generic-unix/rabbitmq-sys
@@ -0,0 +1,34 @@
+#!/bin/sh
+## The contents of this file are subject to the Mozilla Public License
+## Version 1.1 (the "License"); you may not use this file except in
+## compliance with the License. You may obtain a copy of the License
+## at http://www.mozilla.org/MPL/
+##
+## Software distributed under the License is distributed on an "AS IS"
+## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+## the License for the specific language governing rights and
+## limitations under the License.
+##
+## The Original Code is RabbitMQ.
+##
+## The Initial Developer of the Original Code is VMware, Inc.
+## Copyright (c) 2012 VMware, Inc. All rights reserved.
+##
+
+### generic-unix ###
+### next line potentially updated in package install steps
+SYS_PREFIX=${RABBITMQ_HOME}
+
+## Set system default values
+SERVER_ERL_ARGS="+K true +A30 +P 1048576 \
+-kernel inet_default_connect_options [{nodelay,true}]"
+
+CONFIG_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq
+LOG_BASE=${SYS_PREFIX}/var/log/rabbitmq
+MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia
+ENABLED_PLUGINS_FILE=${SYS_PREFIX}/etc/rabbitmq/enabled_plugins
+
+OLD_CONF_ENV_FILE=/etc/rabbitmq/rabbitmq.conf
+CONF_ENV_FILE=/etc/rabbitmq/rabbitmq-env.conf
+
+PLUGINS_DIR="${RABBITMQ_HOME}/plugins"
diff --git a/packaging/macports/Makefile b/packaging/macports/Makefile
index 47da02dc..897fc183 100644
--- a/packaging/macports/Makefile
+++ b/packaging/macports/Makefile
@@ -38,9 +38,8 @@ $(DEST)/Portfile: Portfile.in
# needs vars such as HOME to be set. So we have to set them
# explicitly.
macports: dirs $(DEST)/Portfile
- cp $(COMMON_DIR)/rabbitmq-script-wrapper $(DEST)/files
- 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
+ sed -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|' \
+ $(COMMON_DIR)/rabbitmq-script-wrapper >$(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) $(MACPORTS_USERHOST) ' \
diff --git a/packaging/macports/Portfile.in b/packaging/macports/Portfile.in
index 360fb394..a7b9e826 100644
--- a/packaging/macports/Portfile.in
+++ b/packaging/macports/Portfile.in
@@ -48,6 +48,7 @@ set serveruser rabbitmq
set servergroup rabbitmq
set serverhome ${prefix}/var/lib/rabbitmq
set logdir ${prefix}/var/log/rabbitmq
+set enabledpluginsdir ${prefix}/etc/rabbitmq
set mnesiadbdir ${prefix}/var/lib/rabbitmq/mnesia
set plistloc ${prefix}/etc/LaunchDaemons/org.macports.rabbitmq-server
set sbindir ${destroot}${prefix}/lib/rabbitmq/bin
@@ -74,6 +75,7 @@ destroot.destdir \
MAN_DIR=${destroot}${prefix}/share/man
destroot.keepdirs \
+ ${destroot}${enabledpluginsdir} \
${destroot}${logdir} \
${destroot}${mnesiadbdir}
@@ -83,22 +85,19 @@ pre-destroot {
}
post-destroot {
+ xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${enabledpluginsdir}
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):${prefix}\\1:g" \
- ${realsbin}/rabbitmq-env
- foreach var {CONFIG_FILE LOG_BASE MNESIA_BASE ENABLED_PLUGINS_FILE} {
- reinplace -E "s:^($var)=/:\\1=${prefix}/:" \
- ${realsbin}/rabbitmq-server \
- ${realsbin}/rabbitmqctl \
- ${realsbin}/rabbitmq-plugins
- }
+ reinplace -E "s:^SYS_PREFIX=\${RABBITMQ_HOME}$:SYS_PREFIX=${prefix}:" \
+ ${realsbin}/rabbitmq-sys
+ reinplace -E "s:^SYS_PREFIX=$:SYS_PREFIX=${prefix}:" \
+ ${realsbin}/rabbitmq-sys
xinstall -m 555 ${filespath}/rabbitmq-script-wrapper \
${wrappersbin}/rabbitmq-server
- reinplace -E "s:MACPORTS_PREFIX/bin:${prefix}/bin:g" \
+ reinplace -E "s:@MACPORTS_PREFIX@:${prefix}:g" \
${wrappersbin}/rabbitmq-server
reinplace -E "s:/usr/lib/rabbitmq/bin/:${prefix}/lib/rabbitmq/bin/:g" \
${wrappersbin}/rabbitmq-server
diff --git a/packaging/macports/make-port-diff.sh b/packaging/macports/make-port-diff.sh
index 3eb1b9f5..0583b41b 100755
--- a/packaging/macports/make-port-diff.sh
+++ b/packaging/macports/make-port-diff.sh
@@ -15,7 +15,8 @@ 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
+sed -e 's|^# \$.*$|# $Id$|' rabbitmq-server/Portfile >rabbitmq-server/Portfile.tmp \
+ && mv rabbitmq-server/Portfile.tmp rabbitmq-server/Portfile
# Get the files from the rabbitmq.com macports repo
cd ../rabbitmq
diff --git a/packaging/windows/Makefile b/packaging/windows/Makefile
index 828cf000..8e0ab074 100644
--- a/packaging/windows/Makefile
+++ b/packaging/windows/Makefile
@@ -25,7 +25,7 @@ dist:
xmlto -o . xhtml-nochunks ../../docs/rabbitmq-service.xml
elinks -dump -no-references -no-numbering rabbitmq-service.html \
> $(TARGET_DIR)/readme-service.txt
- todos $(TARGET_DIR)/readme-service.txt
+ todos $(TARGET_DIR)/readme-service.txt || unix2dos $(TARGET_DIR)/readme-service.txt
rm -rf $(TARGET_DIR)/plugins-src
zip -q -r $(TARGET_ZIP).zip $(TARGET_DIR)
rm -rf $(TARGET_DIR) rabbitmq-service.html
diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env
index 1fd1339d..1e3a0608 100755
--- a/scripts/rabbitmq-env
+++ b/scripts/rabbitmq-env
@@ -15,7 +15,7 @@
## Copyright (c) 2007-2012 VMware, Inc. All rights reserved.
##
-# Determine where this script is really located
+# Determine where this script is really located (if this script is embedded, this is the location of the caller)
SCRIPT_PATH="$0"
while [ -h "$SCRIPT_PATH" ] ; do
FULL_PATH=`readlink -f $SCRIPT_PATH 2>/dev/null`
@@ -36,19 +36,19 @@ RABBITMQ_HOME="${SCRIPT_DIR}/.."
[ "x" = "x$HOSTNAME" ] && HOSTNAME=`env hostname`
NODENAME=rabbit@${HOSTNAME%%.*}
-## Set (non-empty) default values for rabbitmq-env.conf variables to override
-SERVER_ERL_ARGS="+K true +A30 +P 1048576 \
--kernel inet_default_connect_options [{nodelay,true}]"
-CONFIG_FILE=/etc/rabbitmq/rabbitmq
-LOG_BASE=/var/log/rabbitmq
-MNESIA_BASE=/var/lib/rabbitmq/mnesia
-PLUGINS_DIR="${RABBITMQ_HOME}/plugins"
-ENABLED_PLUGINS_FILE=/etc/rabbitmq/enabled_plugins
+## Set system defaults
+if [ ! -f ${SCRIPT_DIR}/rabbitmq-sys ]; then
+ echo -n "WARNING: system defaults are not available -- "
+ echo "check the installation completed correctly."
+ exit 1
+fi
+
+. ${SCRIPT_DIR}/rabbitmq-sys
-## Load configuration from the rabbitmq.conf file
-if [ -f /etc/rabbitmq/rabbitmq.conf ] && \
- [ ! -f /etc/rabbitmq/rabbitmq-env.conf ] ; then
- echo -n "WARNING: ignoring /etc/rabbitmq/rabbitmq.conf -- "
- echo "location has moved to /etc/rabbitmq/rabbitmq-env.conf"
+## Get configuration variables from the configure environment file
+if [ -f ${OLD_CONF_ENV_FILE} ] && \
+ [ ! -f ${CONF_ENV_FILE} ] ; then
+ echo -n "WARNING: ignoring ${OLD_CONF_ENV_FILE} -- "
+ echo "location has moved to ${CONF_ENV_FILE}"
fi
-[ -f /etc/rabbitmq/rabbitmq-env.conf ] && . /etc/rabbitmq/rabbitmq-env.conf
+[ -f ${CONF_ENV_FILE} ] && . ${CONF_ENV_FILE}
diff --git a/scripts/rabbitmq-sys b/scripts/rabbitmq-sys
new file mode 100644
index 00000000..fc2b25f2
--- /dev/null
+++ b/scripts/rabbitmq-sys
@@ -0,0 +1,33 @@
+#!/bin/sh
+## The contents of this file are subject to the Mozilla Public License
+## Version 1.1 (the "License"); you may not use this file except in
+## compliance with the License. You may obtain a copy of the License
+## at http://www.mozilla.org/MPL/
+##
+## Software distributed under the License is distributed on an "AS IS"
+## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+## the License for the specific language governing rights and
+## limitations under the License.
+##
+## The Original Code is RabbitMQ.
+##
+## The Initial Developer of the Original Code is VMware, Inc.
+## Copyright (c) 2012 VMware, Inc. All rights reserved.
+##
+
+### next line potentially updated in package install steps, do not alter
+SYS_PREFIX=
+
+## Set system default values
+SERVER_ERL_ARGS="+K true +A30 +P 1048576 \
+-kernel inet_default_connect_options [{nodelay,true}]"
+
+CONFIG_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq
+LOG_BASE=${SYS_PREFIX}/var/log/rabbitmq
+MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia
+ENABLED_PLUGINS_FILE=${SYS_PREFIX}/etc/rabbitmq/enabled_plugins
+
+OLD_CONF_ENV_FILE=/etc/rabbitmq/rabbitmq.conf
+CONF_ENV_FILE=/etc/rabbitmq/rabbitmq-env.conf
+
+PLUGINS_DIR="${RABBITMQ_HOME}/plugins"