Age | Commit message (Collapse) | Author |
|
Fix release upgrades on Windows
|
|
Some tool calls were outdated, and in some cases, relied on non-existing
features there.
|
|
upgrade providers to have matching getopt versions
|
|
|
|
upgrade erlware commons to 1.0.3
|
|
|
|
|
|
OTP-20 unicode support and OTP-21 readiness
|
|
|
|
|
|
Had a problem in OTP-21 (master) where escript calls in nodetool would
fail since the file is not around and is being used by default there.
The patch works by copying its equivalent file, which I belive to be
just the start_clean file (their .rel.src are identical), into the same
directories as we do for start_clean.
Internal errors are renamed to be made neutral.
|
|
Use either optional compilation or version-safe variants of the string
functions. Prevents warnings when the switch to OTP-21 will happen.
|
|
Correctly construct HEART_COMMAND and run_erl arguments
|
|
|
|
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
|
|
Only print lines for os var that are set
|
|
|
|
Pass prefix through
|
|
Add boot_var ERTS_LIB_DIR to relx_get_nodename
|
|
Useful for copying custom files from an erts build
such as a .kerl.config file.
|
|
* 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
|
|
|
|
|
|
win32 cross release on unix and vs
|
|
[windows] pass extra arguments from vm.args to service
|
|
vm.args check for name/sname parameter
|
|
tests now include if:
- start succeeds when the node name is given in a different args file than vm.args
- start fails when no node name given
- start fails when multiple node names given
- start fails when referenced args_file does not exist
- start fails when a referenced args_file is not readable
- start fails when an args_file is referenced via a relative path
- start fails when there are circular dependencies between args_files
|
|
- distinction between non-existing and existing but non-readable args_file
- fixed circularity check to include the base vm.args file
|
|
disabling progress reports during erl root check in extended start sc…
|
|
Start top-level applications as early as possible.
|
|
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.
|
|
|
|
|
|
|
|
PIPE_DIR handling
|
|
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.
|
|
|
|
|
|
Prevent .erlang from prepending string to the erl root dir
|
|
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.
|
|
|
|
|
|
Don't fail status script command if empty
|
|
Let people define their own when they want to.
|
|
|