mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-18 17:24:31 +01:00
adbccbe852
Prepare with: ./autogen.sh && ./configure --with-rebar=./rebar3 && make Or use this if you installed Elixir: ./autogen.sh && ./configure --with-rebar=mix && make Start without installing (it recompiles when necessary): make relive It stores config, database and logs in _build/relive/ There's available the well-known script: _build/relive/ejabberdctl Please note this fails immediately: r3:do(compile). This crashes a few seconds later: rebar3:run(["compile"]). Workaround that works correctly: ejabberd_admin:update().
27 lines
742 B
Erlang
27 lines
742 B
Erlang
#!/usr/bin/env escript
|
|
|
|
main(_) ->
|
|
Base = "_build/relive",
|
|
prepare(Base, "", none),
|
|
prepare(Base, "conf", {os, cmd, "rel/setup-relive.sh"}),
|
|
prepare(Base, "database", none),
|
|
prepare(Base, "logs", none),
|
|
c:erlangrc([os:cmd("echo -n $HOME")]),
|
|
ok.
|
|
|
|
prepare(BaseDir, SuffixDir, MFA) ->
|
|
Dir = filename:join(BaseDir, SuffixDir),
|
|
case file:make_dir(Dir) of
|
|
ok ->
|
|
io:format("Preparing relive dir ~s...~n", [Dir]),
|
|
case MFA of
|
|
none -> ok;
|
|
{M, F, A} -> M:F(A)
|
|
end;
|
|
{error, eexist} ->
|
|
ok;
|
|
{error, LogsError} ->
|
|
io:format("Error creating dir ~s: ~p~n", [Dir, LogsError]),
|
|
halt(1)
|
|
end.
|