summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Wragg <david@rabbitmq.com>2010-06-29 20:29:01 +0100
committerDavid Wragg <david@rabbitmq.com>2010-06-29 20:29:01 +0100
commit4f89176bd75985219c96c304e7827322db86139e (patch)
treed9420cc4002b71690749d852332920f79449adca
parent5055970340ddb7ac268d8a5b13888546a31ed7b5 (diff)
downloadrabbitmq-server-4f89176bd75985219c96c304e7827322db86139e.tar.gz
Explicitly set all the environment variables that su on Linux would
-rw-r--r--packaging/macports/Makefile11
-rw-r--r--packaging/macports/Portfile.in2
2 files changed, 12 insertions, 1 deletions
diff --git a/packaging/macports/Makefile b/packaging/macports/Makefile
index 4ad4c30b..73254532 100644
--- a/packaging/macports/Makefile
+++ b/packaging/macports/Makefile
@@ -35,7 +35,16 @@ macports: dirs $(DEST)/Portfile
for f in rabbitmq-asroot-script-wrapper rabbitmq-script-wrapper ; do \
cp $(COMMON_DIR)/$$f $(DEST)/files ; \
done
- sed -i -e 's|@SU_RABBITMQ_SH_C@|SHELL=/bin/sh su -m rabbitmq -c|' \
+ # The purpose of this intricate substitution is to set up the
+ # same environment vars that su will on Linux. On OS X, we
+ # have to use the -m option to su in order to be able to set
+ # the shell (which for the rabbitmq user would otherwise be
+ # /dev/null). But the -m option means that *all* environment
+ # vars get preserved. Erlang needs vars such as HOME to be
+ # set. So we have to set them explicitly. Note that the IFS
+ # value is "<space><tab><newline>"
+ sed -i -e 's|@SU_RABBITMQ_SH_C@|SHELL=/bin/sh HOME=/var/lib/rabbitmq IFS=" \\\
+" USER=rabbitmq LOGNAME=rabbitmq PATH="$$(eval `PATH=MACPORTS_PREFIX/bin /usr/libexec/path_helper -s`; echo $$PATH)" su -m rabbitmq -c|' \
$(DEST)/files/rabbitmq-script-wrapper
cp patch-org.macports.rabbitmq-server.plist.diff $(DEST)/files
if [ -n "$(MACPORTS_USERHOST)" ] ; then \
diff --git a/packaging/macports/Portfile.in b/packaging/macports/Portfile.in
index 188a81c0..be0d24d7 100644
--- a/packaging/macports/Portfile.in
+++ b/packaging/macports/Portfile.in
@@ -97,6 +97,8 @@ post-destroot {
xinstall -m 555 ${filespath}/rabbitmq-asroot-script-wrapper \
${wrappersbin}/rabbitmq-activate-plugins
+ reinplace -E "s:MACPORTS_PREFIX/bin:${prefix}/bin:" \
+ ${wrappersbin}/rabbitmq-multi
reinplace -E "s:/usr/lib/rabbitmq/bin/:${prefix}/lib/rabbitmq/bin/:" \
${wrappersbin}/rabbitmq-multi
reinplace -E "s:/var/lib/rabbitmq:${prefix}/var/lib/rabbitmq:" \