summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@lshift.net>2008-12-08 11:20:35 +0000
committerSimon MacMullen <simon@lshift.net>2008-12-08 11:20:35 +0000
commit5a54c676e8a57bcfb89ac58c9e61a8da6acc8f3b (patch)
tree101576df85bd391be5a9e642e13610ea22c9328d
parent14ae52d2e93bd33487f0e4f91983c6fa480f3d9b (diff)
parent8bca4d5e133b088e5ab493211343c57116726177 (diff)
downloadrabbitmq-server-5a54c676e8a57bcfb89ac58c9e61a8da6acc8f3b.tar.gz
Merged bug 19962
-rw-r--r--packaging/RPMS/Fedora/Makefile1
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server-preserve-db.sh28
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec6
-rw-r--r--packaging/RPMS/Fedora/rabbitmqctl_wrapper9
4 files changed, 42 insertions, 2 deletions
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile
index f6d8dde8..2c028e70 100644
--- a/packaging/RPMS/Fedora/Makefile
+++ b/packaging/RPMS/Fedora/Makefile
@@ -18,6 +18,7 @@ prepare:
cp init.d SOURCES/rabbitmq-server.init
cp rabbitmqctl_wrapper SOURCES/rabbitmq-server.wrapper
cp rabbitmq-server.logrotate SOURCES/rabbitmq-server.logrotate
+ cp rabbitmq-server-preserve-db.sh SOURCES
server: prepare
rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) --target i386
diff --git a/packaging/RPMS/Fedora/rabbitmq-server-preserve-db.sh b/packaging/RPMS/Fedora/rabbitmq-server-preserve-db.sh
new file mode 100644
index 00000000..e885b6b8
--- /dev/null
+++ b/packaging/RPMS/Fedora/rabbitmq-server-preserve-db.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+if [ "$1x" = "x" ]; then
+ echo "You haven't specified the initial location of the RabbitMQ database"
+ exit 1
+fi
+
+if [ ! -d "$1" ]; then
+ echo "The directory containing the RabbitMQ database doesn't exist"
+ exit 1
+fi
+
+echo
+echo "The RabbitMQ database schema has changed."
+echo "If your RabbitMQ database contains important data,"
+echo "such as user accounts, durable exchanges and queues,"
+echo "or persistent messages, then we recommend you contact"
+echo "support@rabbitmq.com for assistance with the upgrade."
+echo "The current RabbitMQ database will be moved to the"
+echo "directory: "
+
+CURRENT_MNESIA_DIR=$1
+DATE=`date +'%d_%m_%Y'`
+TMP_OLD_MNESIA_DIR=$CURRENT_MNESIA_DIR.$$.${DATE}
+mv "$CURRENT_MNESIA_DIR" "$TMP_OLD_MNESIA_DIR"
+
+echo "$TMP_OLD_MNESIA_DIR"
+echo \ No newline at end of file
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec
index 24f06107..fbee9ef3 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.spec
+++ b/packaging/RPMS/Fedora/rabbitmq-server.spec
@@ -7,6 +7,7 @@ Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{v
Source1: rabbitmq-server.init
Source2: rabbitmq-server.wrapper
Source3: rabbitmq-server.logrotate
+Source4: rabbitmq-server-preserve-db.sh
URL: http://www.rabbitmq.com/
Vendor: LShift Ltd., Cohesive Financial Technologies LLC., Rabbit Technlogies Ltd.
%if 0%{?debian}
@@ -87,6 +88,11 @@ fi
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
chown -R rabbitmq:rabbitmq /var/log/rabbitmq
+su rabbitmq -s /bin/sh -c %{_rabbitbindir}/rabbitmq-mnesia-current
+if [ $? = 1 ]; then
+ /bin/sh %SOURCE4 /var/lib/rabbitmq/mnesia
+fi
+
/sbin/chkconfig --add %{name}
/sbin/service rabbitmq-server start
diff --git a/packaging/RPMS/Fedora/rabbitmqctl_wrapper b/packaging/RPMS/Fedora/rabbitmqctl_wrapper
index 75b37c0d..6b387d29 100644
--- a/packaging/RPMS/Fedora/rabbitmqctl_wrapper
+++ b/packaging/RPMS/Fedora/rabbitmqctl_wrapper
@@ -10,5 +10,10 @@ for arg in "$@" ; do
done
cd /
-su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/rabbitmqctl ${CMDLINE}"
-
+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