summaryrefslogtreecommitdiff
path: root/packaging/RPMS
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2008-12-10 10:53:17 +0000
committerMatthias Radestock <matthias@lshift.net>2008-12-10 10:53:17 +0000
commit8eaea483b202092b88cdfc44d3d91b876cff02cb (patch)
treec4ae5f14333b85fc351906cfa87fc2cf937cfaf6 /packaging/RPMS
parentbebc6203ce2e31164e631d0df43251dec2ee9575 (diff)
parentaa0f1d27376674c0383138bccdd73b9ff1dfae22 (diff)
downloadrabbitmq-server-git-8eaea483b202092b88cdfc44d3d91b876cff02cb.tar.gz
merge default into bug19684
Diffstat (limited to 'packaging/RPMS')
-rw-r--r--packaging/RPMS/Fedora/Makefile1
-rw-r--r--packaging/RPMS/Fedora/init.d4
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server-preserve-db.sh28
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec31
-rw-r--r--packaging/RPMS/Fedora/rabbitmqctl_wrapper9
5 files changed, 55 insertions, 18 deletions
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile
index f6d8dde867..2c028e702b 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/init.d b/packaging/RPMS/Fedora/init.d
index 397beeaa22..27f150f997 100644
--- a/packaging/RPMS/Fedora/init.d
+++ b/packaging/RPMS/Fedora/init.d
@@ -18,7 +18,7 @@
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON_NAME=rabbitmq-multi
-DAEMON=/usr/sbin/$DAEMON_NAME
+DAEMON=/usr/lib/rabbitmq/bin/$DAEMON_NAME
NAME=rabbitmq-server
DESC=rabbitmq-server
USER=rabbitmq
@@ -64,7 +64,7 @@ start_rabbitmq () {
stop_rabbitmq () {
set +e
status_rabbitmq quiet
- if [ $RETVAL == 0 ] ; then
+ if [ $RETVAL = 0 ] ; then
su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
RETVAL=$?
if [ $RETVAL != 0 ] ; then
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 0000000000..e885b6b80f
--- /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 9067a8443b..fbee9ef3d7 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}
@@ -26,11 +27,14 @@ performance enterprise messaging. The RabbitMQ server is a robust and
scalable implementation of an AMQP broker.
%ifarch x86_64
- %define _erllibdir /usr/lib64/erlang/lib
+ %define _defaultlibdir /usr/lib64
%else
- %define _erllibdir /usr/lib/erlang/lib
+ %define _defaultlibdir /usr/lib
%endif
+%define _erllibdir %{_defaultlibdir}/erlang/lib
+%define _rabbitbindir %{_defaultlibdir}/rabbitmq/bin
+
%define _maindir %{buildroot}%{_erllibdir}/rabbitmq_server-%{version}
%pre
@@ -50,9 +54,8 @@ make
rm -rf %{buildroot}
make install TARGET_DIR=%{_maindir} \
- SBIN_DIR=%{buildroot}%{_sbindir} \
+ SBIN_DIR=%{buildroot}%{_rabbitbindir} \
MAN_DIR=%{buildroot}%{_mandir}
- VERSION=%{version}
mkdir -p %{buildroot}/var/lib/rabbitmq/mnesia
mkdir -p %{buildroot}/var/log/rabbitmq
@@ -62,10 +65,8 @@ mkdir -p %{buildroot}/etc/rc.d/init.d/
install -m 0755 %SOURCE1 %{buildroot}/etc/rc.d/init.d/rabbitmq-server
chmod 0755 %{buildroot}/etc/rc.d/init.d/rabbitmq-server
-mv %{buildroot}/usr/sbin/rabbitmqctl %{buildroot}/usr/sbin/rabbitmqctl_real
-install -m 0755 %SOURCE2 %{buildroot}/usr/sbin/rabbitmqctl
-
-cp %{buildroot}%{_mandir}/man1/rabbitmqctl.1.gz %{buildroot}%{_mandir}/man1/rabbitmqctl_real.1.gz
+mkdir -p %{buildroot}%{_sbindir}
+install -m 0755 %SOURCE2 %{buildroot}%{_sbindir}/rabbitmqctl
mkdir -p %{buildroot}/etc/logrotate.d
install %SOURCE3 %{buildroot}/etc/logrotate.d/rabbitmq-server
@@ -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
@@ -103,16 +109,13 @@ fi
%files
%defattr(-,root,root,-)
%{_erllibdir}/rabbitmq_server-%{version}/
+%{_rabbitbindir}/
%{_mandir}/man1/rabbitmq-multi.1.gz
%{_mandir}/man1/rabbitmq-server.1.gz
%{_mandir}/man1/rabbitmqctl.1.gz
-%{_mandir}/man1/rabbitmqctl_real.1.gz
-%{_sbindir}/rabbitmq-multi
-%{_sbindir}/rabbitmq-server
%{_sbindir}/rabbitmqctl
-%{_sbindir}/rabbitmqctl_real
-/var/lib/rabbitmq/
-/var/log/rabbitmq/
+%dir /var/lib/rabbitmq
+%dir /var/log/rabbitmq
/etc/rc.d/init.d/rabbitmq-server
%config(noreplace) /etc/logrotate.d/rabbitmq-server
%doc LICENSE LICENSE-MPL-RabbitMQ INSTALL
diff --git a/packaging/RPMS/Fedora/rabbitmqctl_wrapper b/packaging/RPMS/Fedora/rabbitmqctl_wrapper
index c484bb27ea..6b387d2997 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/sbin/rabbitmqctl_real ${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