Age | Commit message (Collapse) | Author |
|
Provide a status command to start script which,
by default, runs a builtin hook that simply prints
which applications are running in the node.
This hook can then be customized to print whatever
the user wants by adding
{status, [{custom, "path/to/hook"}]}
to already existing extended_start_script_hooks.
|
|
Only ensure kernel,stdlib for empty dep apps
|
|
Two types are supported, direct chmoding, like
{chmod, 8#00700, "path/to/file/maybe/with/{{templates}}" }
or templating the permission where you have a template var like
{file_perm, 8#00700}
and an overlay
{chmod, "{{file_perm}}","path/to/file/maybe/with/{{templates}}" }
|
|
Do not try and ensure them for every app, there
are some OTP apps that only require kernel and
there's really no point in rewriting those.
|
|
Make this dependency explicit as it was causing
apps with empty application lists to not be included
in the generated release.
|
|
When replacing OS vars only create multi-node sys.config
files (ie. filenames containing the node name) only if explicitly
requested. This is necessary because inclusion of other config
files inside of sys.config is only allowed if the file is actually called
sys.config and nothing else.
|
|
|
|
|
|
Introduced while merging PRs 445, 541
|
|
Provide a new config directive that allows per-app module exclusion
|
|
By introducing a new entry in the config file allow excluding
specific modules from a given app, they will not be copied
onto the final release and their reference removed from
the .app file. The new entry takes on the following form:
{exclude_modules, [
{App :: atom(), [Module :: atom()]}
]}
|
|
New 'extended_start_script_hooks' directive that allows the
developer to define six different hook shell scripts to be invoked
at pre/post start/stop/install upgrade phases.
Besides these custom defined scripts, other types of builtin
scripts are also available, these offer pre-packaged functionality
that can be used directly, they are:
pid - writes the beam pid to a configurable file location
(/var/run/<rel_name>.pid by default).
wait_for_vm_start - waits for the vm to start (ie. when it responds to pings)
wait_for_process - waits for a configurable name
to appear in the erlang process registry
The hook scripts are invoked with the 'source' command, therefore
they have access to all the variables in the start script.
|
|
|
|
The first run would correctly replace the environment
variables, however it would also overwrite the original
vm.args and sys.config thus preventing any further
substitution in subsequent runs.
Dev mode runs were also broken, all runs after the
first were required to also define the
RELX_REPLACE_OS_VARS variable in order not to
overwrite the current vm.args with the original one,
this prevented simply attaching to an already running
node that was started this way.
Add tests to exercise this functionality.
|
|
This reverts commit 701da7b9f2dfb872351b56938f7aed5bff0d79c7.
|
|
Remove redundant check for extended_start_script.
Add tests that enforce this invariant.
|
|
Using the include_src option
|
|
|
|
|
|
|
|
|
|
|
|
|
|
By default, the `include_src` value is `true`, yet Relx disregards the
value entirely when generating tarballs.
This patch makes it so the value is used and respected when generating
tarballs. Given the default value is `true`, this patch changes the
default behaviour of relx to always include source files in tarballs,
considering its omission a bug rather than a feature.
Tests are added, verifying the impact on ERTS-included files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
allow overlay inclusion of other files, similarly
to what OTP already does in sys.config files
|
|
|
|
|
|
similar to rebar's config script, append a .script
suffix to the provided relx config that is evaluated
and can possibly change values in the original config
|
|
|
|
|
|
fix for error message output for no default release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Accelerate application discovery
|
|
properly handle config files and switching on/off dev_mode
|