summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2010-08-02 17:37:21 +0100
committerSimon MacMullen <simon@rabbitmq.com>2010-08-02 17:37:21 +0100
commit1732c78e6b1ab5b424a40b577fb4b5dbc2333ebb (patch)
tree98c4389fffbda5a547a88c8b3cf535128394e742
parent4a81d967a427709fe7d3c4b12f501e899ef36dde (diff)
downloadrabbitmq-server-1732c78e6b1ab5b424a40b577fb4b5dbc2333ebb.tar.gz
Move unpacked plugins and boot script to /var/lib/rabbitmq/plugins-scratch.
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec3
-rw-r--r--packaging/common/rabbitmq-script-wrapper2
-rw-r--r--packaging/debs/Debian/debian/postrm.in5
-rwxr-xr-xscripts/rabbitmq-server2
-rw-r--r--src/rabbit_plugin_activator.erl6
5 files changed, 8 insertions, 10 deletions
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec
index bf03c6ac..c0d9aeda 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.spec
+++ b/packaging/RPMS/Fedora/rabbitmq-server.spec
@@ -31,6 +31,7 @@ scalable implementation of an AMQP broker.
%define _rabbit_wrapper %{_builddir}/`basename %{S:2}`
%define _rabbit_asroot_wrapper %{_builddir}/`basename %{S:4}`
%define _rabbit_server_ocf %{_builddir}/`basename %{S:5}`
+%define _plugins_state_dir %{_localstatedir}/lib/rabbitmq/plugins
%define _maindir %{buildroot}%{_rabbit_erllibdir}
@@ -106,7 +107,7 @@ if [ $1 = 0 ]; then
fi
# Clean out plugin activation state, both on uninstall and upgrade
-rm -rf %{_rabbit_erllibdir}/priv
+rm -rf %{_plugins_state_dir}
for ext in rel script boot ; do
rm -f %{_rabbit_erllibdir}/ebin/rabbit.$ext
done
diff --git a/packaging/common/rabbitmq-script-wrapper b/packaging/common/rabbitmq-script-wrapper
index 79096a4e..ffe13533 100644
--- a/packaging/common/rabbitmq-script-wrapper
+++ b/packaging/common/rabbitmq-script-wrapper
@@ -42,6 +42,8 @@ done
cd /var/lib/rabbitmq
+export RABBITMQ_PLUGINS_EXPAND_DIR=/var/lib/rabbitmq/plugins-scratch
+
SCRIPT=`basename $0`
if [ `id -u` = 0 ] ; then
diff --git a/packaging/debs/Debian/debian/postrm.in b/packaging/debs/Debian/debian/postrm.in
index 5290de9b..c4aeeebe 100644
--- a/packaging/debs/Debian/debian/postrm.in
+++ b/packaging/debs/Debian/debian/postrm.in
@@ -20,10 +20,7 @@ set -e
remove_plugin_traces() {
# Remove traces of plugins
- rm -rf @RABBIT_LIB@/priv @RABBIT_LIB@/plugins
- for ext in rel script boot ; do
- rm -f @RABBIT_LIB@/ebin/rabbit.$ext
- done
+ rm -rf /var/lib/rabbitmq/plugins-scratch
}
case "$1" in
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index e2028728..d65b1fc5 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -97,7 +97,7 @@ if [ "x" = "x$RABBITMQ_NODE_ONLY" ]; then
-s rabbit_plugin_activator \
-extra "$@"
then
- RABBITMQ_BOOT_FILE="${RABBITMQ_EBIN_ROOT}/rabbit"
+ RABBITMQ_BOOT_FILE="${RABBITMQ_PLUGINS_EXPAND_DIR}/rabbit"
RABBITMQ_EBIN_PATH=""
else
exit 1
diff --git a/src/rabbit_plugin_activator.erl b/src/rabbit_plugin_activator.erl
index ef3c5cc2..3ff89d0b 100644
--- a/src/rabbit_plugin_activator.erl
+++ b/src/rabbit_plugin_activator.erl
@@ -35,7 +35,6 @@
-define(DefaultPluginDir, "plugins").
-define(DefaultUnpackedPluginDir, "priv/plugins").
--define(DefaultRabbitEBin, "ebin").
-define(BaseApps, [rabbit]).
%%----------------------------------------------------------------------------
@@ -58,9 +57,8 @@ start() ->
%% Determine our various directories
PluginDir = get_env(plugins_dir, ?DefaultPluginDir),
UnpackedPluginDir = get_env(plugins_expand_dir, ?DefaultUnpackedPluginDir),
- RabbitEBin = get_env(rabbit_ebin, ?DefaultRabbitEBin),
- RootName = RabbitEBin ++ "/rabbit",
+ RootName = UnpackedPluginDir ++ "/ebin/rabbit",
%% Unpack any .ez plugins
unpack_ez_plugins(PluginDir, UnpackedPluginDir),
@@ -87,7 +85,7 @@ start() ->
{erts, erlang:system_info(version)},
AppVersions},
- %% Write it out to ebin/rabbit.rel
+ %% Write it out to $RABBITMQ_PLUGINS_EXPAND_DIR/rabbit.rel
file:write_file(RootName ++ ".rel", io_lib:format("~p.~n", [RDesc])),
%% Compile the script