X-Git-Url: http://git.onelab.eu/?p=ejabberd.git;a=blobdiff_plain;f=ejabberd-ejabberdctl_fix.diff;fp=ejabberd-ejabberdctl_fix.diff;h=8c8a27bcf3cd546c1f9bf32a3c7e9f17db74d113;hp=0000000000000000000000000000000000000000;hb=f281fc2ed13b877fa274318bb05e047454e0f75b;hpb=464f3529c9b34f83c009ea7ad9924b382027b889 diff --git a/ejabberd-ejabberdctl_fix.diff b/ejabberd-ejabberdctl_fix.diff new file mode 100644 index 0000000..8c8a27b --- /dev/null +++ b/ejabberd-ejabberdctl_fix.diff @@ -0,0 +1,82 @@ +--- src/ejabberdctl.template 2009-04-01 19:23:51.000000000 +0400 ++++ src/ejabberdctl.template 2009-08-25 23:06:19.258685929 +0400 +@@ -9,13 +9,14 @@ + + # define default environment variables + NODE=ejabberd +-HOST=localhost ++HOST=`hostname -s 2>/dev/null || echo "localhost"` + ERLANG_NODE=$NODE@$HOST + ERL=@erl@ +-ROOTDIR=@rootdir@ ++ROOTDIR= ++MAINDIR= + EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg + LOGS_DIR=$ROOTDIR/var/log/ejabberd/ +-EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE ++EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/spool + + # read custom configuration + CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg +@@ -43,10 +44,10 @@ + ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES" + + # define additional environment variables +-EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin +-EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs +-EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib +-EJABBERD_BIN_PATH=$ROOTDIR/var/lib/ejabberd/priv/bin ++EJABBERD_EBIN=$MAINDIR/ebin ++EJABBERD_MSGS_PATH=$MAINDIR/priv/msgs ++EJABBERD_SO_PATH=$MAINDIR/priv/lib ++EJABBERD_BIN_PATH=$MAINDIR/priv/bin + EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log + SASL_LOG_PATH=$LOGS_DIR/sasl.log + DATETIME=`date "+%Y%m%d-%H%M%S"` +@@ -75,14 +76,16 @@ + # start server + start () + { +- $ERL \ ++ ERL_COMMAND="$ERL \ + $NAME $ERLANG_NODE \ + -noinput -detached \ + -pa $EJABBERD_EBIN \ +- -mnesia dir "\"$EJABBERD_DB\"" \ ++ -mnesia dir \\\"$EJABBERD_DB\\\" \ + -s ejabberd \ +- -sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\} \ +- $ERLANG_OPTS $ARGS "$@" ++ -sasl sasl_error_logger \{file,\\\"$SASL_LOG_PATH\\\"\} \ ++ $ERLANG_OPTS $ARGS "$@" \ ++ " ++ /sbin/runuser -s /bin/bash -p ejabberd -c "$ERL_COMMAND" + } + + # attach to server +@@ -105,7 +108,7 @@ + read foo + echo "" + $ERL \ +- $NAME ${NODE}debug \ ++ $NAME debug-${ERLANG_NODE} \ + -remsh $ERLANG_NODE \ + $ERLANG_OPTS $ARGS "$@" + } +@@ -139,11 +142,13 @@ + # common control function + ctl () + { +- $ERL \ +- $NAME ejabberdctl \ ++ ERL_COMMAND="$ERL \ ++ $NAME ctl-${ERLANG_NODE} \ + -noinput \ + -pa $EJABBERD_EBIN \ +- -s ejabberd_ctl -extra $ERLANG_NODE $@ ++ -s ejabberd_ctl -extra $ERLANG_NODE $@ \ ++ " ++ /sbin/runuser -s /bin/bash -p ejabberd -c "$ERL_COMMAND" + result=$? + case $result in + 0) :;;