mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
Switch "make rel" and "make dev" to paths: conf, database, logs
This commit is contained in:
parent
a852c31c6c
commit
45c7fbb5ae
26
Makefile.in
26
Makefile.in
@ -278,29 +278,29 @@ relive:
|
|||||||
relivelibdir=$(shell pwd)/$(DEPSDIR)
|
relivelibdir=$(shell pwd)/$(DEPSDIR)
|
||||||
relivedir=$(shell pwd)/_build/relive
|
relivedir=$(shell pwd)/_build/relive
|
||||||
iexpath=$(shell which iex)
|
iexpath=$(shell which iex)
|
||||||
|
CONFIG_DIR = ${relivedir}/conf
|
||||||
|
SPOOL_DIR = ${relivedir}/database
|
||||||
|
LOGS_DIR = ${relivedir}/logs
|
||||||
|
|
||||||
ejabberdctl.relive:
|
ejabberdctl.relive:
|
||||||
$(SED) -e "s*{{rootdir}}*@prefix@*g" \
|
$(SED) -e "s*{{installuser}}*@INSTALLUSER@*g" \
|
||||||
-e "s*{{installuser}}*@INSTALLUSER@*g" \
|
-e "s*{{config_dir}}*${CONFIG_DIR}*g" \
|
||||||
|
-e "s*{{logs_dir}}*${LOGS_DIR}*g" \
|
||||||
|
-e "s*{{spool_dir}}*${SPOOL_DIR}*g" \
|
||||||
-e "s*{{bindir}}/iex*$(iexpath)*g" \
|
-e "s*{{bindir}}/iex*$(iexpath)*g" \
|
||||||
-e "s*{{bindir}}*@bindir@*g" \
|
-e "s*{{bindir}}*@bindir@*g" \
|
||||||
-e "s*{{libdir}}*${relivelibdir}*g" \
|
-e "s*{{libdir}}*${relivelibdir}*g" \
|
||||||
-e "s*{{sysconfdir}}/ejabberd*$(relivedir)/conf*g" \
|
|
||||||
-e "s*{{localstatedir}}/log/ejabberd*$(relivedir)/logs*g" \
|
|
||||||
-e "s*{{localstatedir}}/lib/ejabberd*$(relivedir)/database*g" \
|
|
||||||
-e "s*{{docdir}}*@docdir@*g" \
|
|
||||||
-e "s*{{erl}}*@ERL@*g" \
|
-e "s*{{erl}}*@ERL@*g" \
|
||||||
-e "s*{{epmd}}*@EPMD@*g" ejabberdctl.template \
|
-e "s*{{epmd}}*@EPMD@*g" ejabberdctl.template \
|
||||||
> ejabberdctl.relive
|
> ejabberdctl.relive
|
||||||
|
|
||||||
ejabberdctl.example:
|
ejabberdctl.example: vars.config
|
||||||
$(SED) -e "s*{{rootdir}}*@prefix@*g" \
|
$(SED) -e "s*{{installuser}}*@INSTALLUSER@*g" \
|
||||||
-e "s*{{installuser}}*@INSTALLUSER@*g" \
|
-e "s*{{config_dir}}*${ETCDIR}*g" \
|
||||||
|
-e "s*{{logs_dir}}*${LOGDIR}*g" \
|
||||||
|
-e "s*{{spool_dir}}*${SPOOLDIR}*g" \
|
||||||
-e "s*{{bindir}}*@bindir@*g" \
|
-e "s*{{bindir}}*@bindir@*g" \
|
||||||
-e "s*{{libdir}}*@libdir@*g" \
|
-e "s*{{libdir}}*@libdir@*g" \
|
||||||
-e "s*{{sysconfdir}}*@sysconfdir@*g" \
|
|
||||||
-e "s*{{localstatedir}}*@localstatedir@*g" \
|
|
||||||
-e "s*{{docdir}}*@docdir@*g" \
|
|
||||||
-e "s*{{erl}}*@ERL@*g" \
|
-e "s*{{erl}}*@ERL@*g" \
|
||||||
-e "s*{{epmd}}*@EPMD@*g" ejabberdctl.template \
|
-e "s*{{epmd}}*@EPMD@*g" ejabberdctl.template \
|
||||||
> ejabberdctl.example
|
> ejabberdctl.example
|
||||||
@ -417,7 +417,7 @@ distclean: clean clean-rel
|
|||||||
rel:
|
rel:
|
||||||
$(REBARREL)
|
$(REBARREL)
|
||||||
|
|
||||||
DEV_CONFIG = _build/dev/rel/ejabberd/etc/ejabberd/ejabberd.yml
|
DEV_CONFIG = _build/dev/rel/ejabberd/conf/ejabberd.yml
|
||||||
|
|
||||||
dev $(DEV_CONFIG):
|
dev $(DEV_CONFIG):
|
||||||
$(REBARDEV)
|
$(REBARDEV)
|
||||||
|
@ -1,18 +1,13 @@
|
|||||||
import Config
|
import Config
|
||||||
|
|
||||||
case System.get_env("RELIVE", "false") do
|
rootdefault = case System.get_env("RELIVE", "false") do
|
||||||
"true" ->
|
"true" -> "_build/relive"
|
||||||
rootpath = System.get_env("RELEASE_ROOT", "_build/relive")
|
"false" -> ""
|
||||||
config :ejabberd,
|
|
||||||
file: Path.join(rootpath, "conf/ejabberd.yml"),
|
|
||||||
log_path: Path.join(rootpath, 'logs/ejabberd.log')
|
|
||||||
config :mnesia,
|
|
||||||
dir: Path.join(rootpath, 'database/')
|
|
||||||
"false" ->
|
|
||||||
rootpath = System.get_env("RELEASE_ROOT", "")
|
|
||||||
config :ejabberd,
|
|
||||||
file: Path.join(rootpath, "etc/ejabberd/ejabberd.yml"),
|
|
||||||
log_path: Path.join(rootpath, 'var/log/ejabberd/ejabberd.log')
|
|
||||||
config :mnesia,
|
|
||||||
dir: Path.join(rootpath, 'var/lib/ejabberd/')
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
rootpath = System.get_env("RELEASE_ROOT", rootdefault)
|
||||||
|
config :ejabberd,
|
||||||
|
file: Path.join(rootpath, "conf/ejabberd.yml"),
|
||||||
|
log_path: Path.join(rootpath, 'logs/ejabberd.log')
|
||||||
|
config :mnesia,
|
||||||
|
dir: Path.join(rootpath, 'database/')
|
||||||
|
@ -50,20 +50,20 @@ while [ $# -gt 0 ]; do
|
|||||||
-l|--logs) LOGS_DIR=$2; shift 2;;
|
-l|--logs) LOGS_DIR=$2; shift 2;;
|
||||||
-f|--config) EJABBERD_CONFIG_PATH=$2; shift 2;;
|
-f|--config) EJABBERD_CONFIG_PATH=$2; shift 2;;
|
||||||
-c|--ctl-config) EJABBERDCTL_CONFIG_PATH=$2; shift 2;;
|
-c|--ctl-config) EJABBERDCTL_CONFIG_PATH=$2; shift 2;;
|
||||||
-d|--config-dir) ETC_DIR=$2; shift 2;;
|
-d|--config-dir) CONFIG_DIR=$2; shift 2;;
|
||||||
-t|--no-timeout) NO_TIMEOUT="--no-timeout"; shift;;
|
-t|--no-timeout) NO_TIMEOUT="--no-timeout"; shift;;
|
||||||
*) break;;
|
*) break;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# define ejabberd variables if not already defined from the command line
|
# define ejabberd variables if not already defined from the command line
|
||||||
: "${ETC_DIR:="{{sysconfdir}}/ejabberd"}"
|
: "${CONFIG_DIR:="{{config_dir}}"}"
|
||||||
: "${LOGS_DIR:="{{localstatedir}}/log/ejabberd"}"
|
: "${LOGS_DIR:="{{logs_dir}}"}"
|
||||||
: "${SPOOL_DIR:="{{localstatedir}}/lib/ejabberd"}"
|
: "${SPOOL_DIR:="{{spool_dir}}"}"
|
||||||
: "${EJABBERD_CONFIG_PATH:="$ETC_DIR/ejabberd.yml"}"
|
: "${EJABBERD_CONFIG_PATH:="$CONFIG_DIR/ejabberd.yml"}"
|
||||||
: "${EJABBERDCTL_CONFIG_PATH:="$ETC_DIR/ejabberdctl.cfg"}"
|
: "${EJABBERDCTL_CONFIG_PATH:="$CONFIG_DIR/ejabberdctl.cfg"}"
|
||||||
# Allows passing extra Erlang command-line arguments in vm.args file
|
# Allows passing extra Erlang command-line arguments in vm.args file
|
||||||
: "${VMARGS:="$ETC_DIR/vm.args"}"
|
: "${VMARGS:="$CONFIG_DIR/vm.args"}"
|
||||||
# shellcheck source=ejabberdctl.cfg.example
|
# shellcheck source=ejabberdctl.cfg.example
|
||||||
[ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH"
|
[ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH"
|
||||||
[ -n "$ERLANG_NODE_ARG" ] && ERLANG_NODE="$ERLANG_NODE_ARG"
|
[ -n "$ERLANG_NODE_ARG" ] && ERLANG_NODE="$ERLANG_NODE_ARG"
|
||||||
@ -85,7 +85,7 @@ fi
|
|||||||
[ -f "$VMARGS" ] && ERLANG_OPTS="$ERLANG_OPTS -args_file $VMARGS"
|
[ -f "$VMARGS" ] && ERLANG_OPTS="$ERLANG_OPTS -args_file $VMARGS"
|
||||||
ERL_LIBS='{{libdir}}'
|
ERL_LIBS='{{libdir}}'
|
||||||
ERL_CRASH_DUMP="$LOGS_DIR"/erl_crash_$(date "+%Y%m%d-%H%M%S").dump
|
ERL_CRASH_DUMP="$LOGS_DIR"/erl_crash_$(date "+%Y%m%d-%H%M%S").dump
|
||||||
ERL_INETRC="$ETC_DIR"/inetrc
|
ERL_INETRC="$CONFIG_DIR"/inetrc
|
||||||
|
|
||||||
# define ejabberd parameters
|
# define ejabberd parameters
|
||||||
EJABBERD_OPTS="$EJABBERD_OPTS\
|
EJABBERD_OPTS="$EJABBERD_OPTS\
|
||||||
@ -193,7 +193,7 @@ help()
|
|||||||
echo " started|stopped Wait for the node to fully start|stop"
|
echo " started|stopped Wait for the node to fully start|stop"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Optional parameters when starting an ejabberd node:"
|
echo "Optional parameters when starting an ejabberd node:"
|
||||||
echo " --config-dir dir Config ejabberd: $ETC_DIR"
|
echo " --config-dir dir Config ejabberd: $CONFIG_DIR"
|
||||||
echo " --config file Config ejabberd: $EJABBERD_CONFIG_PATH"
|
echo " --config file Config ejabberd: $EJABBERD_CONFIG_PATH"
|
||||||
echo " --ctl-config file Config ejabberdctl: $EJABBERDCTL_CONFIG_PATH"
|
echo " --ctl-config file Config ejabberdctl: $EJABBERDCTL_CONFIG_PATH"
|
||||||
echo " --logs dir Directory for logs: $LOGS_DIR"
|
echo " --logs dir Directory for logs: $LOGS_DIR"
|
||||||
|
16
mix.exs
16
mix.exs
@ -235,7 +235,9 @@ defmodule Ejabberd.MixProject do
|
|||||||
libdir: config(:libdir),
|
libdir: config(:libdir),
|
||||||
sysconfdir: config(:sysconfdir),
|
sysconfdir: config(:sysconfdir),
|
||||||
localstatedir: config(:localstatedir),
|
localstatedir: config(:localstatedir),
|
||||||
docdir: config(:docdir),
|
config_dir: config(:config_dir),
|
||||||
|
logs_dir: config(:logs_dir),
|
||||||
|
spool_dir: config(:spool_dir),
|
||||||
erl: config(:erl),
|
erl: config(:erl),
|
||||||
epmd: config(:epmd),
|
epmd: config(:epmd),
|
||||||
bindir: Path.join([config(:release_dir), "releases", version()]),
|
bindir: Path.join([config(:release_dir), "releases", version()]),
|
||||||
@ -286,15 +288,15 @@ defmodule Ejabberd.MixProject do
|
|||||||
|
|
||||||
suffix = case Mix.env() do
|
suffix = case Mix.env() do
|
||||||
:dev ->
|
:dev ->
|
||||||
Mix.Generator.copy_file("test/ejabberd_SUITE_data/ca.pem", "#{ro}/etc/ejabberd/ca.pem")
|
Mix.Generator.copy_file("test/ejabberd_SUITE_data/ca.pem", "#{ro}/conf/ca.pem")
|
||||||
Mix.Generator.copy_file("test/ejabberd_SUITE_data/cert.pem", "#{ro}/etc/ejabberd/cert.pem")
|
Mix.Generator.copy_file("test/ejabberd_SUITE_data/cert.pem", "#{ro}/conf/cert.pem")
|
||||||
".example"
|
".example"
|
||||||
_ -> ""
|
_ -> ""
|
||||||
end
|
end
|
||||||
|
|
||||||
Mix.Generator.copy_file("ejabberd.yml.example", "#{ro}/etc/ejabberd/ejabberd.yml#{suffix}")
|
Mix.Generator.copy_file("ejabberd.yml.example", "#{ro}/conf/ejabberd.yml#{suffix}")
|
||||||
Mix.Generator.copy_file("ejabberdctl.cfg.example", "#{ro}/etc/ejabberd/ejabberdctl.cfg#{suffix}")
|
Mix.Generator.copy_file("ejabberdctl.cfg.example", "#{ro}/conf/ejabberdctl.cfg#{suffix}")
|
||||||
Mix.Generator.copy_file("inetrc", "#{ro}/etc/ejabberd/inetrc")
|
Mix.Generator.copy_file("inetrc", "#{ro}/conf/inetrc")
|
||||||
|
|
||||||
Enum.each(File.ls!("sql"),
|
Enum.each(File.ls!("sql"),
|
||||||
fn x ->
|
fn x ->
|
||||||
@ -316,8 +318,6 @@ defmodule Ejabberd.MixProject do
|
|||||||
&& File.cp_r!(source_dir, target_dir)
|
&& File.cp_r!(source_dir, target_dir)
|
||||||
end
|
end
|
||||||
|
|
||||||
Mix.Generator.create_directory("#{ro}/var/lib/ejabberd")
|
|
||||||
|
|
||||||
case Mix.env() do
|
case Mix.env() do
|
||||||
:dev -> execute.("REL_DIR_TEMP=$PWD/rel/overlays/ rel/setup-dev.sh")
|
:dev -> execute.("REL_DIR_TEMP=$PWD/rel/overlays/ rel/setup-dev.sh")
|
||||||
_ -> :ok
|
_ -> :ok
|
||||||
|
20
rebar.config
20
rebar.config
@ -190,12 +190,12 @@
|
|||||||
{sys_config, "./rel/sys.config"},
|
{sys_config, "./rel/sys.config"},
|
||||||
{vm_args, "./rel/vm.args"},
|
{vm_args, "./rel/vm.args"},
|
||||||
{overlay_vars, "vars.config"},
|
{overlay_vars, "vars.config"},
|
||||||
{overlay, [{mkdir, "var/log/ejabberd"},
|
{overlay, [{mkdir, "logs"},
|
||||||
{mkdir, "var/lib/ejabberd"},
|
{mkdir, "database"},
|
||||||
{mkdir, "etc/ejabberd"},
|
{mkdir, "conf"},
|
||||||
{copy, "rel/files/erl", "erts-\{\{erts_vsn\}\}/bin/erl"},
|
{copy, "rel/files/erl", "erts-\{\{erts_vsn\}\}/bin/erl"},
|
||||||
{template, "ejabberdctl.template", "bin/ejabberdctl"},
|
{template, "ejabberdctl.template", "bin/ejabberdctl"},
|
||||||
{copy, "inetrc", "etc/ejabberd/inetrc"},
|
{copy, "inetrc", "conf/inetrc"},
|
||||||
{copy, "tools/captcha*.sh", "lib/ejabberd-\{\{release_version\}\}/priv/bin/"},
|
{copy, "tools/captcha*.sh", "lib/ejabberd-\{\{release_version\}\}/priv/bin/"},
|
||||||
{copy, "rel/files/install_upgrade.escript", "bin/install_upgrade.escript"}]}
|
{copy, "rel/files/install_upgrade.escript", "bin/install_upgrade.escript"}]}
|
||||||
]}.
|
]}.
|
||||||
@ -206,8 +206,8 @@
|
|||||||
{include_src, true},
|
{include_src, true},
|
||||||
{generate_start_script, false},
|
{generate_start_script, false},
|
||||||
{overlay, [{copy, "sql/*", "lib/ejabberd-\{\{release_version\}\}/priv/sql/"},
|
{overlay, [{copy, "sql/*", "lib/ejabberd-\{\{release_version\}\}/priv/sql/"},
|
||||||
{copy, "ejabberdctl.cfg.example", "etc/ejabberd/ejabberdctl.cfg"},
|
{copy, "ejabberdctl.cfg.example", "conf/ejabberdctl.cfg"},
|
||||||
{copy, "ejabberd.yml.example", "etc/ejabberd/ejabberd.yml"}]}]}]},
|
{copy, "ejabberd.yml.example", "conf/ejabberd.yml"}]}]}]},
|
||||||
{dev, [{post_hooks, [{release, "rel/setup-dev.sh"}]},
|
{dev, [{post_hooks, [{release, "rel/setup-dev.sh"}]},
|
||||||
{relx, [{debug_info, keep},
|
{relx, [{debug_info, keep},
|
||||||
{dev_mode, true},
|
{dev_mode, true},
|
||||||
@ -215,10 +215,10 @@
|
|||||||
{include_src, false},
|
{include_src, false},
|
||||||
{generate_start_script, true},
|
{generate_start_script, true},
|
||||||
{extended_start_script, true},
|
{extended_start_script, true},
|
||||||
{overlay, [{copy, "ejabberdctl.cfg.example", "etc/ejabberd/ejabberdctl.cfg.example"},
|
{overlay, [{copy, "ejabberdctl.cfg.example", "conf/ejabberdctl.cfg.example"},
|
||||||
{copy, "ejabberd.yml.example", "etc/ejabberd/ejabberd.yml.example"},
|
{copy, "ejabberd.yml.example", "conf/ejabberd.yml.example"},
|
||||||
{copy, "test/ejabberd_SUITE_data/ca.pem", "etc/ejabberd/"},
|
{copy, "test/ejabberd_SUITE_data/ca.pem", "conf/"},
|
||||||
{copy, "test/ejabberd_SUITE_data/cert.pem", "etc/ejabberd/"}]}]}]},
|
{copy, "test/ejabberd_SUITE_data/cert.pem", "conf/"}]}]}]},
|
||||||
{test, [{erl_opts, [nowarn_export_all]}]}]}.
|
{test, [{erl_opts, [nowarn_export_all]}]}]}.
|
||||||
|
|
||||||
{alias, [{relive, [{shell, "--apps ejabberd \
|
{alias, [{relive, [{shell, "--apps ejabberd \
|
||||||
|
@ -88,15 +88,15 @@ Sys = [{lib_dirs, []},
|
|||||||
end, OTPApps).
|
end, OTPApps).
|
||||||
|
|
||||||
Overlay = [
|
Overlay = [
|
||||||
{mkdir, "var/log/ejabberd"},
|
{mkdir, "logs"},
|
||||||
{mkdir, "var/lib/ejabberd"},
|
{mkdir, "database"},
|
||||||
{mkdir, "etc/ejabberd"},
|
{mkdir, "conf"},
|
||||||
{mkdir, "doc"},
|
{mkdir, "doc"},
|
||||||
{template, "files/erl", "\{\{erts_vsn\}\}/bin/erl"},
|
{template, "files/erl", "\{\{erts_vsn\}\}/bin/erl"},
|
||||||
{template, "../ejabberdctl.template", "bin/ejabberdctl"},
|
{template, "../ejabberdctl.template", "bin/ejabberdctl"},
|
||||||
{copy, "../ejabberdctl.cfg.example", "etc/ejabberd/ejabberdctl.cfg"},
|
{copy, "../ejabberdctl.cfg.example", "conf/ejabberdctl.cfg"},
|
||||||
{copy, "../ejabberd.yml.example", "etc/ejabberd/ejabberd.yml"},
|
{copy, "../ejabberd.yml.example", "conf/ejabberd.yml"},
|
||||||
{copy, "../inetrc", "etc/ejabberd/inetrc"},
|
{copy, "../inetrc", "conf/inetrc"},
|
||||||
{copy, "files/install_upgrade.escript", "bin/install_upgrade.escript"}
|
{copy, "files/install_upgrade.escript", "bin/install_upgrade.escript"}
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -2,10 +2,10 @@ echo -n "===> Preparing dev configuration files: "
|
|||||||
|
|
||||||
PWD_DIR=`pwd`
|
PWD_DIR=`pwd`
|
||||||
REL_DIR=$PWD_DIR/_build/dev/rel/ejabberd/
|
REL_DIR=$PWD_DIR/_build/dev/rel/ejabberd/
|
||||||
CON_DIR=$REL_DIR/etc/ejabberd/
|
CON_DIR=$REL_DIR/conf/
|
||||||
|
|
||||||
[ -z "$REL_DIR_TEMP" ] && REL_DIR_TEMP=$REL_DIR
|
[ -z "$REL_DIR_TEMP" ] && REL_DIR_TEMP=$REL_DIR
|
||||||
CON_DIR_TEMP=$REL_DIR_TEMP/etc/ejabberd/
|
CON_DIR_TEMP=$REL_DIR_TEMP/conf/
|
||||||
BIN_DIR_TEMP=$REL_DIR_TEMP/bin/
|
BIN_DIR_TEMP=$REL_DIR_TEMP/bin/
|
||||||
|
|
||||||
cd $CON_DIR_TEMP
|
cd $CON_DIR_TEMP
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
[{ejabberd, [{config, "etc/ejabberd/ejabberd.yml"},
|
[{ejabberd, [{config, "conf/ejabberd.yml"},
|
||||||
{log_path, "var/log/ejabberd/ejabberd.log"}]}].
|
{log_path, "logs/ejabberd.log"}]}].
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
## Cookie for distributed erlang
|
## Cookie for distributed erlang
|
||||||
#-setcookie ejabberd
|
#-setcookie ejabberd
|
||||||
|
|
||||||
-mnesia dir \"var/lib/ejabberd\"
|
-mnesia dir \"database\"
|
||||||
|
|
||||||
## Heartbeat management; auto-restarts VM if it dies or becomes unresponsive
|
## Heartbeat management; auto-restarts VM if it dies or becomes unresponsive
|
||||||
## (Disabled by default..use with caution!)
|
## (Disabled by default..use with caution!)
|
||||||
|
@ -59,6 +59,11 @@
|
|||||||
{libdir, "{{release_dir}}/lib"}.
|
{libdir, "{{release_dir}}/lib"}.
|
||||||
{docdir, "{{release_dir}}/doc"}.
|
{docdir, "{{release_dir}}/doc"}.
|
||||||
|
|
||||||
|
%% OTP release
|
||||||
|
{config_dir, "{{release_dir}}/conf"}.
|
||||||
|
{logs_dir, "{{release_dir}}/logs"}.
|
||||||
|
{spool_dir, "{{release_dir}}/database"}.
|
||||||
|
|
||||||
{latest_deps, @latest_deps@}.
|
{latest_deps, @latest_deps@}.
|
||||||
{system_deps, @system_deps@}.
|
{system_deps, @system_deps@}.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user