summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert@lshift.net>2008-12-05 16:27:52 +0000
committerHubert Plociniczak <hubert@lshift.net>2008-12-05 16:27:52 +0000
commit5dc3199f377380b7b429ba99bfe4b56f4c70f940 (patch)
treee754f29ff3df24eef2fbaaa0bd89346e4d656791
parent3eac32c73780c5550c12d68ae30e2dcd0a0d7c50 (diff)
downloadrabbitmq-server-git-5dc3199f377380b7b429ba99bfe4b56f4c70f940.tar.gz
Move the old mnesia dir to temporary unique place
when schemas do not match.
-rw-r--r--packaging/RPMS/Fedora/Makefile1
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.conf28
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec6
3 files changed, 35 insertions, 0 deletions
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile
index f6d8dde867..48abf6ce3c 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.conf SOURCES/rabbitmq-server.conf
server: prepare
rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) --target i386
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.conf b/packaging/RPMS/Fedora/rabbitmq-server.conf
new file mode 100644
index 0000000000..642a0ee5a8
--- /dev/null
+++ b/packaging/RPMS/Fedora/rabbitmq-server.conf
@@ -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 temporary"
+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 24f0610752..65a4cadd3e 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.conf
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