aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in4
-rw-r--r--src/ejabberd.erl15
-rw-r--r--src/ejabberdctl.template2
-rw-r--r--src/pam/epam.erl2
4 files changed, 20 insertions, 3 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index c05c2ebf3..6676e19d8 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -54,6 +54,7 @@ EJABBERDDIR = $(DESTDIR)@prefix@/var/lib/ejabberd
BEAMDIR = $(EJABBERDDIR)/ebin
PRIVDIR = $(EJABBERDDIR)/priv
SODIR = $(PRIVDIR)/lib
+PBINDIR = $(PRIVDIR)/bin
MSGSDIR = $(PRIVDIR)/msgs
LOGDIR = $(DESTDIR)@prefix@/var/log/ejabberd
ETCDIR = $(DESTDIR)@prefix@/etc/ejabberd
@@ -101,8 +102,9 @@ install: all
rm -f $(BEAMDIR)/configure.beam
install -m 644 *.app $(BEAMDIR)
install -d $(SODIR)
+ install -d $(PBINDIR)
install -m 644 *.so $(SODIR)
- -install -m 750 epam $(SODIR)
+ install -m 750 epam $(PBINDIR)
install -d $(MSGSDIR)
install -m 644 msgs/*.msg $(MSGSDIR)
install -d $(ETCDIR)
diff --git a/src/ejabberd.erl b/src/ejabberd.erl
index 323b4c912..de2727ca0 100644
--- a/src/ejabberd.erl
+++ b/src/ejabberd.erl
@@ -28,7 +28,7 @@
-author('alexey@process-one.net').
-export([start/0, stop/0,
- get_so_path/0]).
+ get_so_path/0, get_bin_path/0]).
start() ->
application:start(ejabberd).
@@ -49,3 +49,16 @@ get_so_path() ->
Path ->
Path
end.
+
+get_bin_path() ->
+ case os:getenv("EJABBERD_BIN_PATH") of
+ false ->
+ case code:priv_dir(ejabberd) of
+ {error, _} ->
+ ".";
+ Path ->
+ filename:join([Path, "bin"])
+ end;
+ Path ->
+ Path
+ end.
diff --git a/src/ejabberdctl.template b/src/ejabberdctl.template
index fd5a1d08c..f50b98580 100644
--- a/src/ejabberdctl.template
+++ b/src/ejabberdctl.template
@@ -45,6 +45,7 @@ ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES"
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_LOG_PATH=$LOGS_DIR/ejabberd.log
SASL_LOG_PATH=$LOGS_DIR/sasl.log
DATETIME=`date "+%Y%m%d-%H%M%S"`
@@ -57,6 +58,7 @@ export EJABBERD_CONFIG_PATH
export EJABBERD_MSGS_PATH
export EJABBERD_LOG_PATH
export EJABBERD_SO_PATH
+export EJABBERD_BIN_PATH
export ERL_CRASH_DUMP
export ERL_INETRC
export ERL_MAX_PORTS
diff --git a/src/pam/epam.erl b/src/pam/epam.erl
index 40431193b..df24496ba 100644
--- a/src/pam/epam.erl
+++ b/src/pam/epam.erl
@@ -79,7 +79,7 @@ acct_mgmt(Srv, User) when is_list(Srv), is_list(User) ->
%% gen_server callbacks
%%====================================================================
init([]) ->
- FileName = filename:join(ejabberd:get_so_path(), "epam"),
+ FileName = filename:join(ejabberd:get_bin_path(), "epam"),
case file:read_file_info(FileName) of
{ok, Info} ->
Mode = Info#file_info.mode band 16#801,