diff --git a/.cvsignore b/.cvsignore
index 0255d41..f7c0642 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-rabbitmq-server-1.6.0.tar.gz
+rabbitmq-server-1.7.0.tar.gz
diff --git a/rabbitmq-asroot-script-wrapper b/rabbitmq-asroot-script-wrapper
new file mode 100644
index 0000000..9ef59ad
--- /dev/null
+++ b/rabbitmq-asroot-script-wrapper
@@ -0,0 +1,53 @@
+#!/bin/bash
+##   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 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.
+##
+##   All Rights Reserved.
+##
+##   Contributor(s): ______________________________________.
+##
+
+# 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/"/\\"/g' <<-END
+		$arg
+		END
+	)
+	CMDLINE="${CMDLINE} \"${arg}\""
+done
+
+cd /var/lib/rabbitmq
+
+SCRIPT=`basename $0`
+
+if [ `id -u` = 0 ] ; then
+    /usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}
+else
+    echo -e "\nOnly root should run ${SCRIPT}\n"
+    exit 1
+fi
+
diff --git a/rabbitmq-server.init b/rabbitmq-server.init
index 77a6a89..a316cc2 100644
--- a/rabbitmq-server.init
+++ b/rabbitmq-server.init
@@ -8,10 +8,10 @@
 
 ### BEGIN INIT INFO
 # Provides:          rabbitmq-server
-# Default-Start:
-# Default-Stop:
 # Required-Start:    $remote_fs $network
 # Required-Stop:     $remote_fs $network
+# Default-Start:
+# Default-Stop:
 # Description:       RabbitMQ broker
 # Short-Description: Enable AMQP service provided by RabbitMQ broker
 ### END INIT INFO
@@ -23,14 +23,16 @@ DESC=rabbitmq-server
 USER=rabbitmq
 NODE_COUNT=1
 ROTATE_SUFFIX=
+INIT_LOG_DIR=/var/log/rabbitmq
 
+DEFAULTS_FILE=/etc/sysconfig/rabbitmq
 LOCK_FILE=/var/lock/subsys/$NAME
 
 test -x $DAEMON || exit 0
 
 # Include rabbitmq defaults if available
-if [ -f /etc/sysconfig/rabbitmq ] ; then
-	. /etc/sysconfig/rabbitmq
+if [ -f "$DEFAULTS_FILE" ] ; then
+	. $DEFAULTS_FILE
 fi
 
 RETVAL=0
@@ -38,21 +40,22 @@ set -e
 
 start_rabbitmq () {
     set +e
-    $DAEMON start_all ${NODE_COUNT} > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
+    $DAEMON start_all ${NODE_COUNT} > ${INIT_LOG_DIR}/startup_log 2> ${INIT_LOG_DIR}/startup_err
     case "$?" in
       0)
-        echo SUCCESS && touch $LOCK_FILE
+        echo SUCCESS
+        [ -n "$LOCK_FILE" ] && touch $LOCK_FILE
         RETVAL=0
         ;;
       1)
-        echo TIMEOUT - check /var/log/rabbitmq/startup_\{log,err\}
+        echo TIMEOUT - check ${INIT_LOG_DIR}/startup_\{log,err\}
         RETVAL=1
         ;;
       *)
-        echo FAILED - check /var/log/rabbitmq/startup_log, _err
+        echo FAILED - check ${INIT_LOG_DIR}/startup_log, _err
         RETVAL=1
         ;;
-    esac 
+    esac
     set -e
 }
 
@@ -60,12 +63,14 @@ stop_rabbitmq () {
     set +e
     status_rabbitmq quiet
     if [ $RETVAL = 0 ] ; then
-        $DAEMON stop_all > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
+        $DAEMON stop_all > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
         RETVAL=$?
-        if [ $RETVAL != 0 ] ; then
-            echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
+        if [ $RETVAL = 0 ] ; then
+            # Try to stop epmd if run by the rabbitmq user
+            pkill -u rabbitmq epmd || :
+            [ -n "$LOCK_FILE" ] && rm -rf $LOCK_FILE
         else
-            rm -rf $LOCK_FILE
+            echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
         fi
     else
         echo No nodes running 
@@ -119,19 +124,14 @@ case "$1" in
         echo -n "Rotating log files for $DESC: "
         rotate_logs_rabbitmq
         ;;
-    force-reload|reload|restart)
-        echo -n "Restarting $DESC: "
-        restart_rabbitmq
-        echo "$NAME."
-        ;;
-    condrestart|try-restart)
+    force-reload|reload|restart|condrestart|try-restart)
         echo -n "Restarting $DESC: "
         restart_rabbitmq
         echo "$NAME."
         ;;
     *)
         echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
-        RETVAL=2
+        RETVAL=1
         ;;
 esac
 
diff --git a/rabbitmq-server.spec b/rabbitmq-server.spec
index b22fd00..b187cf0 100644
--- a/rabbitmq-server.spec
+++ b/rabbitmq-server.spec
@@ -1,14 +1,15 @@
 %define debug_package %{nil}
 
 Name: rabbitmq-server
-Version: 1.6.0
-Release: 2%{?dist}
+Version: 1.7.0
+Release: 1%{?dist}
 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-script-wrapper
 Source3: rabbitmq-server.logrotate
+Source4: rabbitmq-asroot-script-wrapper
 URL: http://www.rabbitmq.com/
 BuildRequires: erlang, python-simplejson
 Requires: erlang, logrotate
@@ -22,9 +23,10 @@ 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.
 
-%define _rabbit_erllibdir %{_libdir}/erlang/lib/rabbitmq_server-%{version}
+%define _rabbit_erllibdir %{_libdir}/rabbitmq/lib/rabbitmq_server-%{version}
 %define _rabbit_libdir %{_libdir}/rabbitmq
 %define _rabbit_wrapper %{_builddir}/`basename %{S:2}`
+%define _rabbit_asroot_wrapper %{_builddir}/`basename %{S:4}`
 
 %define _maindir %{buildroot}%{_rabbit_erllibdir}
 
@@ -34,11 +36,9 @@ scalable implementation of an AMQP broker.
 %build
 cp %{S:2} %{_rabbit_wrapper}
 sed -i 's|/usr/lib/|%{_libdir}/|' %{_rabbit_wrapper}
-
-# The rabbitmq build needs escript, which is missing from /usr/bin in
-# some versions of the erlang RPM.  See
-# <https://bugzilla.redhat.com/show_bug.cgi?id=481302>
-PATH=%{_libdir}/erlang/bin:$PATH make %{?_smp_mflags}
+cp %{S:4} %{_rabbit_asroot_wrapper}
+sed -i 's|/usr/lib/|%{_libdir}/|' %{_rabbit_asroot_wrapper}
+make %{?_smp_mflags}
 
 %install
 rm -rf %{buildroot}
@@ -55,6 +55,8 @@ install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server
 install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmqctl
 install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-server
 install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-multi
+install -p -D -m 0755 %{_rabbit_asroot_wrapper} %{buildroot}%{_sbindir}/rabbitmq-activate-plugins
+install -p -D -m 0755 %{_rabbit_asroot_wrapper} %{buildroot}%{_sbindir}/rabbitmq-deactivate-plugins
 
 install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
 
@@ -117,6 +119,9 @@ fi
 rm -rf %{buildroot}
 
 %changelog
+* Mon Oct 5 2009 David Wragg <dpw@lshift.net> 1.7.0-1
+- New upstream release
+
 * Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 
diff --git a/sources b/sources
index f4561eb..869bd14 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-af3b0d868d58e5aefb4f0837b82ca010  rabbitmq-server-1.6.0.tar.gz
+4505ca0fd8718439bd6f5e2af2379e56  rabbitmq-server-1.7.0.tar.gz