aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2022-04-25 12:46:48 +0200
committerBadlop <badlop@process-one.net>2022-05-02 13:17:53 +0200
commit45c7fbb5ae3760073691dd25745ba415283d920c (patch)
tree1c87b385a7a55a371b963dbad30561d498d5c314
parentSet default ejabberd version number when not using git (diff)
Switch "make rel" and "make dev" to paths: conf, database, logs
-rw-r--r--Makefile.in26
-rw-r--r--config/runtime.exs25
-rwxr-xr-xejabberdctl.template18
-rw-r--r--mix.exs16
-rw-r--r--rebar.config20
-rw-r--r--rel/reltool.config.script12
-rwxr-xr-xrel/setup-dev.sh4
-rw-r--r--rel/sys.config4
-rw-r--r--rel/vm.args2
-rw-r--r--vars.config.in5
10 files changed, 66 insertions, 66 deletions
diff --git a/Makefile.in b/Makefile.in
index 982e6df52..13f7b556d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -278,29 +278,29 @@ relive:
relivelibdir=$(shell pwd)/$(DEPSDIR)
relivedir=$(shell pwd)/_build/relive
iexpath=$(shell which iex)
+CONFIG_DIR = ${relivedir}/conf
+SPOOL_DIR = ${relivedir}/database
+LOGS_DIR = ${relivedir}/logs
ejabberdctl.relive:
- $(SED) -e "s*{{rootdir}}*@prefix@*g" \
- -e "s*{{installuser}}*@INSTALLUSER@*g" \
+ $(SED) -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}}*@bindir@*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*{{epmd}}*@EPMD@*g" ejabberdctl.template \
> ejabberdctl.relive
-ejabberdctl.example:
- $(SED) -e "s*{{rootdir}}*@prefix@*g" \
- -e "s*{{installuser}}*@INSTALLUSER@*g" \
+ejabberdctl.example: vars.config
+ $(SED) -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*{{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*{{epmd}}*@EPMD@*g" ejabberdctl.template \
> ejabberdctl.example
@@ -417,7 +417,7 @@ distclean: clean clean-rel
rel:
$(REBARREL)
-DEV_CONFIG = _build/dev/rel/ejabberd/etc/ejabberd/ejabberd.yml
+DEV_CONFIG = _build/dev/rel/ejabberd/conf/ejabberd.yml
dev $(DEV_CONFIG):
$(REBARDEV)
diff --git a/config/runtime.exs b/config/runtime.exs
index ad8c6bdc9..b4e6dc5f1 100644
--- a/config/runtime.exs
+++ b/config/runtime.exs
@@ -1,18 +1,13 @@
import Config
-case System.get_env("RELIVE", "false") do
- "true" ->
- rootpath = System.get_env("RELEASE_ROOT", "_build/relive")
- 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/')
+rootdefault = case System.get_env("RELIVE", "false") do
+ "true" -> "_build/relive"
+ "false" -> ""
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/')
diff --git a/ejabberdctl.template b/ejabberdctl.template
index 7f0e0c96d..5b9ef36cb 100755
--- a/ejabberdctl.template
+++ b/ejabberdctl.template
@@ -50,20 +50,20 @@ while [ $# -gt 0 ]; do
-l|--logs) LOGS_DIR=$2; shift 2;;
-f|--config) EJABBERD_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;;
*) break;;
esac
done
# define ejabberd variables if not already defined from the command line
-: "${ETC_DIR:="{{sysconfdir}}/ejabberd"}"
-: "${LOGS_DIR:="{{localstatedir}}/log/ejabberd"}"
-: "${SPOOL_DIR:="{{localstatedir}}/lib/ejabberd"}"
-: "${EJABBERD_CONFIG_PATH:="$ETC_DIR/ejabberd.yml"}"
-: "${EJABBERDCTL_CONFIG_PATH:="$ETC_DIR/ejabberdctl.cfg"}"
+: "${CONFIG_DIR:="{{config_dir}}"}"
+: "${LOGS_DIR:="{{logs_dir}}"}"
+: "${SPOOL_DIR:="{{spool_dir}}"}"
+: "${EJABBERD_CONFIG_PATH:="$CONFIG_DIR/ejabberd.yml"}"
+: "${EJABBERDCTL_CONFIG_PATH:="$CONFIG_DIR/ejabberdctl.cfg"}"
# 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
[ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH"
[ -n "$ERLANG_NODE_ARG" ] && ERLANG_NODE="$ERLANG_NODE_ARG"
@@ -85,7 +85,7 @@ fi
[ -f "$VMARGS" ] && ERLANG_OPTS="$ERLANG_OPTS -args_file $VMARGS"
ERL_LIBS='{{libdir}}'
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
EJABBERD_OPTS="$EJABBERD_OPTS\
@@ -193,7 +193,7 @@ help()
echo " started|stopped Wait for the node to fully start|stop"
echo ""
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 " --ctl-config file Config ejabberdctl: $EJABBERDCTL_CONFIG_PATH"
echo " --logs dir Directory for logs: $LOGS_DIR"
diff --git a/mix.exs b/mix.exs
index 7adf2e869..d73489797 100644
--- a/mix.exs
+++ b/mix.exs
@@ -235,7 +235,9 @@ defmodule Ejabberd.MixProject do
libdir: config(:libdir),
sysconfdir: config(:sysconfdir),
localstatedir: config(:localstatedir),
- docdir: config(:docdir),
+ config_dir: config(:config_dir),
+ logs_dir: config(:logs_dir),
+ spool_dir: config(:spool_dir),
erl: config(:erl),
epmd: config(:epmd),
bindir: Path.join([config(:release_dir), "releases", version()]),
@@ -286,15 +288,15 @@ defmodule Ejabberd.MixProject do
suffix = case Mix.env() do
:dev ->
- Mix.Generator.copy_file("test/ejabberd_SUITE_data/ca.pem", "#{ro}/etc/ejabberd/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/ca.pem", "#{ro}/conf/ca.pem")
+ Mix.Generator.copy_file("test/ejabberd_SUITE_data/cert.pem", "#{ro}/conf/cert.pem")
".example"
_ -> ""
end
- Mix.Generator.copy_file("ejabberd.yml.example", "#{ro}/etc/ejabberd/ejabberd.yml#{suffix}")
- Mix.Generator.copy_file("ejabberdctl.cfg.example", "#{ro}/etc/ejabberd/ejabberdctl.cfg#{suffix}")
- Mix.Generator.copy_file("inetrc", "#{ro}/etc/ejabberd/inetrc")
+ Mix.Generator.copy_file("ejabberd.yml.example", "#{ro}/conf/ejabberd.yml#{suffix}")
+ Mix.Generator.copy_file("ejabberdctl.cfg.example", "#{ro}/conf/ejabberdctl.cfg#{suffix}")
+ Mix.Generator.copy_file("inetrc", "#{ro}/conf/inetrc")
Enum.each(File.ls!("sql"),
fn x ->
@@ -316,8 +318,6 @@ defmodule Ejabberd.MixProject do
&& File.cp_r!(source_dir, target_dir)
end
- Mix.Generator.create_directory("#{ro}/var/lib/ejabberd")
-
case Mix.env() do
:dev -> execute.("REL_DIR_TEMP=$PWD/rel/overlays/ rel/setup-dev.sh")
_ -> :ok
diff --git a/rebar.config b/rebar.config
index 967ca4807..e3186a857 100644
--- a/rebar.config
+++ b/rebar.config
@@ -190,12 +190,12 @@
{sys_config, "./rel/sys.config"},
{vm_args, "./rel/vm.args"},
{overlay_vars, "vars.config"},
- {overlay, [{mkdir, "var/log/ejabberd"},
- {mkdir, "var/lib/ejabberd"},
- {mkdir, "etc/ejabberd"},
+ {overlay, [{mkdir, "logs"},
+ {mkdir, "database"},
+ {mkdir, "conf"},
{copy, "rel/files/erl", "erts-\{\{erts_vsn\}\}/bin/erl"},
{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, "rel/files/install_upgrade.escript", "bin/install_upgrade.escript"}]}
]}.
@@ -206,8 +206,8 @@
{include_src, true},
{generate_start_script, false},
{overlay, [{copy, "sql/*", "lib/ejabberd-\{\{release_version\}\}/priv/sql/"},
- {copy, "ejabberdctl.cfg.example", "etc/ejabberd/ejabberdctl.cfg"},
- {copy, "ejabberd.yml.example", "etc/ejabberd/ejabberd.yml"}]}]}]},
+ {copy, "ejabberdctl.cfg.example", "conf/ejabberdctl.cfg"},
+ {copy, "ejabberd.yml.example", "conf/ejabberd.yml"}]}]}]},
{dev, [{post_hooks, [{release, "rel/setup-dev.sh"}]},
{relx, [{debug_info, keep},
{dev_mode, true},
@@ -215,10 +215,10 @@
{include_src, false},
{generate_start_script, true},
{extended_start_script, true},
- {overlay, [{copy, "ejabberdctl.cfg.example", "etc/ejabberd/ejabberdctl.cfg.example"},
- {copy, "ejabberd.yml.example", "etc/ejabberd/ejabberd.yml.example"},
- {copy, "test/ejabberd_SUITE_data/ca.pem", "etc/ejabberd/"},
- {copy, "test/ejabberd_SUITE_data/cert.pem", "etc/ejabberd/"}]}]}]},
+ {overlay, [{copy, "ejabberdctl.cfg.example", "conf/ejabberdctl.cfg.example"},
+ {copy, "ejabberd.yml.example", "conf/ejabberd.yml.example"},
+ {copy, "test/ejabberd_SUITE_data/ca.pem", "conf/"},
+ {copy, "test/ejabberd_SUITE_data/cert.pem", "conf/"}]}]}]},
{test, [{erl_opts, [nowarn_export_all]}]}]}.
{alias, [{relive, [{shell, "--apps ejabberd \
diff --git a/rel/reltool.config.script b/rel/reltool.config.script
index 523cf9c76..ac3f5c7cb 100644
--- a/rel/reltool.config.script
+++ b/rel/reltool.config.script
@@ -88,15 +88,15 @@ Sys = [{lib_dirs, []},
end, OTPApps).
Overlay = [
- {mkdir, "var/log/ejabberd"},
- {mkdir, "var/lib/ejabberd"},
- {mkdir, "etc/ejabberd"},
+ {mkdir, "logs"},
+ {mkdir, "database"},
+ {mkdir, "conf"},
{mkdir, "doc"},
{template, "files/erl", "\{\{erts_vsn\}\}/bin/erl"},
{template, "../ejabberdctl.template", "bin/ejabberdctl"},
- {copy, "../ejabberdctl.cfg.example", "etc/ejabberd/ejabberdctl.cfg"},
- {copy, "../ejabberd.yml.example", "etc/ejabberd/ejabberd.yml"},
- {copy, "../inetrc", "etc/ejabberd/inetrc"},
+ {copy, "../ejabberdctl.cfg.example", "conf/ejabberdctl.cfg"},
+ {copy, "../ejabberd.yml.example", "conf/ejabberd.yml"},
+ {copy, "../inetrc", "conf/inetrc"},
{copy, "files/install_upgrade.escript", "bin/install_upgrade.escript"}
],
diff --git a/rel/setup-dev.sh b/rel/setup-dev.sh
index 8040f3dd0..79171ffe0 100755
--- a/rel/setup-dev.sh
+++ b/rel/setup-dev.sh
@@ -2,10 +2,10 @@ echo -n "===> Preparing dev configuration files: "
PWD_DIR=`pwd`
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
-CON_DIR_TEMP=$REL_DIR_TEMP/etc/ejabberd/
+CON_DIR_TEMP=$REL_DIR_TEMP/conf/
BIN_DIR_TEMP=$REL_DIR_TEMP/bin/
cd $CON_DIR_TEMP
diff --git a/rel/sys.config b/rel/sys.config
index ff6f0f368..26b0d0c61 100644
--- a/rel/sys.config
+++ b/rel/sys.config
@@ -1,2 +1,2 @@
-[{ejabberd, [{config, "etc/ejabberd/ejabberd.yml"},
- {log_path, "var/log/ejabberd/ejabberd.log"}]}].
+[{ejabberd, [{config, "conf/ejabberd.yml"},
+ {log_path, "logs/ejabberd.log"}]}].
diff --git a/rel/vm.args b/rel/vm.args
index 29858b0dc..6301f464d 100644
--- a/rel/vm.args
+++ b/rel/vm.args
@@ -4,7 +4,7 @@
## Cookie for distributed erlang
#-setcookie ejabberd
--mnesia dir \"var/lib/ejabberd\"
+-mnesia dir \"database\"
## Heartbeat management; auto-restarts VM if it dies or becomes unresponsive
## (Disabled by default..use with caution!)
diff --git a/vars.config.in b/vars.config.in
index ddfc5ddb5..e80e49782 100644
--- a/vars.config.in
+++ b/vars.config.in
@@ -59,6 +59,11 @@
{libdir, "{{release_dir}}/lib"}.
{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@}.
{system_deps, @system_deps@}.