diff options
author | Simon MacMullen <simon@lshift.net> | 2008-12-08 11:20:35 +0000 |
---|---|---|
committer | Simon MacMullen <simon@lshift.net> | 2008-12-08 11:20:35 +0000 |
commit | 5a54c676e8a57bcfb89ac58c9e61a8da6acc8f3b (patch) | |
tree | 101576df85bd391be5a9e642e13610ea22c9328d | |
parent | 14ae52d2e93bd33487f0e4f91983c6fa480f3d9b (diff) | |
parent | 8bca4d5e133b088e5ab493211343c57116726177 (diff) | |
download | rabbitmq-server-5a54c676e8a57bcfb89ac58c9e61a8da6acc8f3b.tar.gz |
Merged bug 19962
-rw-r--r-- | packaging/RPMS/Fedora/Makefile | 1 | ||||
-rw-r--r-- | packaging/RPMS/Fedora/rabbitmq-server-preserve-db.sh | 28 | ||||
-rw-r--r-- | packaging/RPMS/Fedora/rabbitmq-server.spec | 6 | ||||
-rw-r--r-- | packaging/RPMS/Fedora/rabbitmqctl_wrapper | 9 |
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 |