Age | Commit message (Collapse) | Author |
|
|
|
|
|
* remove deprecated hex field from .app.src
* start nodetool dist node in erl flags
|
|
calls (#710)
* remove unused VM_ARGS variable
* include dist args in extended start scripts other calls
|
|
* don't require a cookie in the start script
* remove ensure cookie function from windows script
* Add updated cookie handling for win32
|
|
* Randomize dummy node name
The static name used so far would result in name clashing when running
the script multiple times in short succession.
* Fix find_sys_config routine in win32 extended bin
* Remove escaping of double quotes
* Fix dummy command syntax
* Refactor creation of .erlang.cookie at startup
* Fix dummy node logic for win32
|
|
|
|
|
|
* Attempt at a fix for vm.args usage
* bump sleep time to see if it fixes tests on travis
|
|
--relx-disable-hooks cause start_boot <boot_file> start fail
|
|
|
|
run named erl nodes to auto-set cookie
|
|
|
|
|
|
Let the user provide writable $ROOTDIR/tmp so it can be used
for temporary files
|
|
|
|
|
|
|
|
A common pitfall when starting up Erlang nodes is to
start them as root and then fail silently when switching
to another user, improve this by providing a helpful error
message when this happens.
|
|
* templates/bin: replace process with erlexec
Similar to templates/extended_bin, use "exec" to avoid leaving an extra
shell process running.
* template/{bin,extended_bin}: set program name
Set the program name to the script name in process lists using the same
method as escripts. The program name can be overriden by setting the
ESCRIPT_NAME environment variable:
# before
msantos 10428 9554 49 10:33 pts/25 00:00:01 /usr/local/lib/erlang/erts-9.2/bin/beam.smp -Bd -- ...
# after
msantos 10054 9554 32 10:33 pts/25 00:00:01 /home/msantos/src/erlang/appname/_build/default/rel/appname/bin/appname -Bd -- ...
# ESCRIPT_NAME="foo"
msantos 11254 9554 32 10:35 pts/25 00:00:01 foo -Bd -- ...
|
|
* support for OTP21's sys.config.src file in releases
* always replace os vars in .src files if found
* support vm_args_src to be consistent with sys_config_src
* add newlines after warning logs
* improve sys and vm src config tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use either optional compilation or version-safe variants of the string
functions. Prevents warnings when the switch to OTP-21 will happen.
|
|
|
|
both double quotes and a space character
|
|
The runner script that ships with rebar builds HEART_COMMAND and run_erl arguments that preserve additional arguments the user may have passed:
https://github.com/rebar/rebar/blob/master/priv/templates/simplenode.runner#L215-L238
This PR preserves this behavior. In additon, the current code on this line sets $@ but does not do anything with the result:
https://github.com/erlware/relx/blob/master/priv/templates/extended_bin#L481-L482
Investigated in response to this ML thread: http://erlang.org/pipermail/erlang-questions/2017-October/093974.html
|
|
|
|
Add boot_var ERTS_LIB_DIR to relx_get_nodename
|
|
* Extended start script command extensions
Provide a mechanism that allows for the application
to extend the list of commands available to be invoked
from the start script. An application may be able to
define a 'foo' extension that is associated with a 'foo_script'
written and maintained by the applicationr, (this association is
kept in rebar.config), upon invocation of bin/<release_name> foo
the 'foo_script' will then be invoked.
* Add test coverage for extension script
* Ensure extended script usage argument
|
|
|
|
vm.args check for name/sname parameter
|
|
- distinction between non-existing and existing but non-readable args_file
- fixed circularity check to include the base vm.args file
|
|
vm.args and referenced args_files will now be checked for:
- non-existing -args_files
- circular dependencies between -args_files
- relative paths in -args_files
- multiple/mixed occurences of -name and -sname parameters
- missing -name or -sname parameters
|
|
|
|
|
|
usage of \s in awk regexp is a gawk extension. OSX comes with a different variant of awk. This fix should make the awk code POSIX-compliant and should work in all variants of awk (tested with gawk --traditional)
|
|
The current version of extended_bin checks if there is a name or sname parameter in vm.args and refuses to start if there is none. However, it is allowed that the vm.args file (more abstract, any -args_file that is given to erl/erlexec etc) itself may contain -args_file parameters (see http://erlang.org/doc/man/erl.html), which may contain the name/sname parameters.
This change will recursively scan the files mentioned in -args_file parameters in vm.args as well as -args_file parameters in the mentioned files etcetc, and return the first occurence of a name/sname parameter.
Two points are worth mentioning, though:
- The name/sname check works only with absolute paths in the args_file parameters. Relative paths are probably a bad idea there, anyway, since it would make any setup rather fragile.
- There is no check for circular dependencies. There was none before, and this change does not add any.
|
|
As mentioned in the (closed) issue #127, the default pipe directory is not multi-user friendly. When running multiple relx-generated releases as different users, the first to be started will create the /tmp/erl_pipes directory, which the ones starting after that cannot create their pipe dirs in. The ticket mentions that this should be fixed by #154, but I cannot see how this is supposed to solve the issue. Right now, the only way I see is to use prefix the start command with env PIPE_DIR=/some/other/dir/, which is quite cumbersome.
This change will work exactly as before when PIPE_DIR is explicitly set. In case PIPE_DIR is not set, however, it will first attempt to create the parent dir /tmp/erl_pipes with mode 1777, which should enable releases being run as other users to create their pipe dirs.
|
|
Any output string from .erlang to stdout will be prepend to
code:root_dir(), so it will cause the retrieved dir incorrect.
The fix is to start erl with the no_dot_erlang boot file.
|
|
|
|
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.
|
|
|
|
Fix OSX readlink
|
|
It does not support the -f option.
|