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
commitdd06c796e0f469fa95283a2d819bd73198074deb (patch)
treee754f29ff3df24eef2fbaaa0bd89346e4d656791
parentd5f24fcf9b2b9b5285709e8f3954795a82e4b256 (diff)
downloadrabbitmq-server-dd06c796e0f469fa95283a2d819bd73198074deb.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 f6d8dde8..48abf6ce 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 00000000..642a0ee5
--- /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 24f06107..65a4cadd 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