diff options
author | Steve Powell <steve@rabbitmq.com> | 2012-02-17 11:10:00 +0000 |
---|---|---|
committer | Steve Powell <steve@rabbitmq.com> | 2012-02-17 11:10:00 +0000 |
commit | 680400fc52045d28cf1b2f9e1123a59e12e2a0d9 (patch) | |
tree | c9188b65bebdf6501469bea10153b778b3d708d8 | |
parent | ee9f6d3f80103ba9d6a9692aebfe3202ce845407 (diff) | |
parent | 93dc85d4d90c5561c127e1cca880f21c40dfb3a7 (diff) | |
download | rabbitmq-server-680400fc52045d28cf1b2f9e1123a59e12e2a0d9.tar.gz |
Merge in default
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | packaging/RPMS/Fedora/Makefile | 21 | ||||
-rw-r--r-- | packaging/debs/Debian/Makefile | 15 | ||||
-rw-r--r-- | packaging/generic-unix/Makefile | 5 | ||||
-rw-r--r-- | packaging/generic-unix/rabbitmq-sys | 34 | ||||
-rw-r--r-- | packaging/macports/Makefile | 5 | ||||
-rw-r--r-- | packaging/macports/Portfile.in | 17 | ||||
-rwxr-xr-x | packaging/macports/make-port-diff.sh | 3 | ||||
-rw-r--r-- | packaging/windows/Makefile | 2 | ||||
-rwxr-xr-x | scripts/rabbitmq-env | 30 | ||||
-rw-r--r-- | scripts/rabbitmq-sys | 33 |
11 files changed, 121 insertions, 46 deletions
@@ -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" |