Setting tag ejabberd-2.1.6-3
[ejabberd.git] / ejabberd-ejabberdctl_fix.diff
1 --- src/ejabberdctl.template    2009-04-01 19:23:51.000000000 +0400
2 +++ src/ejabberdctl.template    2009-08-25 23:06:19.258685929 +0400
3 @@ -9,13 +9,14 @@
4  
5  # define default environment variables
6  NODE=ejabberd
7 -HOST=localhost
8 +HOST=`hostname -s 2>/dev/null || echo "localhost"`
9  ERLANG_NODE=$NODE@$HOST
10  ERL=@erl@
11 -ROOTDIR=@rootdir@
12 +ROOTDIR=
13 +MAINDIR=
14  EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg
15  LOGS_DIR=$ROOTDIR/var/log/ejabberd/
16 -EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE
17 +EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/spool
18  
19  # read custom configuration
20  CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg
21 @@ -43,10 +44,10 @@
22  ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES"
23  
24  # define additional environment variables
25 -EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin
26 -EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs
27 -EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib
28 -EJABBERD_BIN_PATH=$ROOTDIR/var/lib/ejabberd/priv/bin
29 +EJABBERD_EBIN=$MAINDIR/ebin
30 +EJABBERD_MSGS_PATH=$MAINDIR/priv/msgs
31 +EJABBERD_SO_PATH=$MAINDIR/priv/lib
32 +EJABBERD_BIN_PATH=$MAINDIR/priv/bin
33  EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log
34  SASL_LOG_PATH=$LOGS_DIR/sasl.log
35  DATETIME=`date "+%Y%m%d-%H%M%S"`
36 @@ -75,14 +76,16 @@
37  # start server
38  start ()
39  {
40 -    $ERL \
41 +     ERL_COMMAND="$ERL \
42        $NAME $ERLANG_NODE \
43        -noinput -detached \
44        -pa $EJABBERD_EBIN \
45 -      -mnesia dir "\"$EJABBERD_DB\"" \
46 +      -mnesia dir \\\"$EJABBERD_DB\\\" \
47        -s ejabberd \
48 -      -sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\} \
49 -      $ERLANG_OPTS $ARGS "$@"
50 +      -sasl sasl_error_logger \{file,\\\"$SASL_LOG_PATH\\\"\} \
51 +      $ERLANG_OPTS $ARGS "$@" \
52 +      "
53 +      /sbin/runuser -s /bin/bash -p ejabberd -c "$ERL_COMMAND"
54  }
55  
56  # attach to server
57 @@ -105,7 +108,7 @@
58      read foo
59      echo ""
60      $ERL \
61 -      $NAME ${NODE}debug \
62 +      $NAME debug-${ERLANG_NODE} \
63        -remsh $ERLANG_NODE \
64        $ERLANG_OPTS $ARGS "$@"
65  }
66 @@ -139,11 +142,13 @@
67  # common control function
68  ctl ()
69  {
70 -    $ERL \
71 -      $NAME ejabberdctl \
72 +    ERL_COMMAND="$ERL \
73 +      $NAME ctl-${ERLANG_NODE} \
74        -noinput \
75        -pa $EJABBERD_EBIN \
76 -      -s ejabberd_ctl -extra $ERLANG_NODE $@
77 +      -s ejabberd_ctl -extra $ERLANG_NODE $@ \
78 +      "
79 +    /sbin/runuser -s /bin/bash -p ejabberd -c "$ERL_COMMAND"
80      result=$?
81      case $result in
82      0) :;;