aboutsummaryrefslogtreecommitdiffstats
path: root/priv
diff options
context:
space:
mode:
authornuex <[email protected]>2014-04-08 00:18:48 -0400
committernuex <[email protected]>2014-04-09 13:42:46 -0400
commitab4ecc4b438381fb51ca188702d99304cc43aa85 (patch)
tree1c37919ad076865a971f289e47def3458954812c /priv
parentd7a1d0a1ad735dde857a9d4785301aea83cf38db (diff)
downloadrelx-ab4ecc4b438381fb51ca188702d99304cc43aa85.tar.gz
relx-ab4ecc4b438381fb51ca188702d99304cc43aa85.tar.bz2
relx-ab4ecc4b438381fb51ca188702d99304cc43aa85.zip
posix compatibility
- use awk instead of date for generating a random id for remsh - use -f instead of -e for testing the existence of a file
Diffstat (limited to 'priv')
-rw-r--r--priv/templates/extended_bin.dtl15
1 files changed, 10 insertions, 5 deletions
diff --git a/priv/templates/extended_bin.dtl b/priv/templates/extended_bin.dtl
index 59cf692..26c18b6 100644
--- a/priv/templates/extended_bin.dtl
+++ b/priv/templates/extended_bin.dtl
@@ -29,13 +29,18 @@ find_erts_dir() {
relx_rem_sh() {
# Generate a unique id used to allow multiple remsh to the same node
# transparently
- id="remsh$(date +%s`@`echo "$NAME" | awk -F@ '{print $2}')"
+ id="remsh$(relx_gen_id)-${NAME}"
# Setup remote shell command to control node
exec "$BINDIR/erl" "$NAME_TYPE" "$id" -remsh "$NAME" -boot start_clean \
-setcookie "$COOKIE"
}
+# Generate a random id
+relx_gen_id() {
+ od -X /dev/urandom | head -n1 | cut -d ' ' -f2
+}
+
# Control a node
relx_nodetool() {
command="$1"; shift
@@ -51,12 +56,12 @@ relx_start_command() {
# Use $CWD/vm.args if exists, otherwise releases/APP_VSN/vm.args, or else etc/vm.args
if [ -z "$VMARGS_PATH" ]; then
- if [ -e "$RELEASE_ROOT_DIR/vm.args" ]; then
+ if [ -f "$RELEASE_ROOT_DIR/vm.args" ]; then
VMARGS_PATH="$RELEASE_ROOT_DIR/vm.args"
USE_DIR="$RELEASE_ROOT_DIR"
else
USE_DIR="$REL_DIR"
- if [ -e "$REL_DIR/vm.args" ]; then
+ if [ -f "$REL_DIR/vm.args" ]; then
VMARGS_PATH="$REL_DIR/vm.args"
else
VMARGS_PATH="$REL_DIR/vm.args"
@@ -69,10 +74,10 @@ mkdir -p "$RUNNER_LOG_DIR"
# Use releases/VSN/sys.config if it exists otherwise use etc/app.config
if [ -z "$CONFIG_PATH" ]; then
- if [ -e "$USE_DIR/sys.config" ]; then
+ if [ -f "$USE_DIR/sys.config" ]; then
CONFIG_PATH="$USE_DIR/sys.config"
else
- if [ -e "$REL_DIR/sys.config" ]; then
+ if [ -f "$REL_DIR/sys.config" ]; then
CONFIG_PATH="$REL_DIR/sys.config"
else
CONFIG_PATH="$REL_DIR/app.config"