From 505458eecb78f90e6c266cbaec9244e88d8c3f1e Mon Sep 17 00:00:00 2001 From: olgeni Date: Mon, 10 Jun 2013 22:15:49 +0200 Subject: [PATCH] Use "pwd -P" to get the current physical path. It is a portable version of the realpath(1) utility that you can find on Mac OS X and FreeBSD (see also The Open Group Base Specifications Issue 6, IEEE Std 1003.1). Without the -P flag, pwd(1) might return different values when the current path contains one or more symlinks, depending on how you got into the current directory. In simplenode.runner, this may cause PIPE_DIR to have different values on each use, which will make it impossible to connect to the running node unless you guess the correct path yourself. --- priv/templates/simplenode.erl.script | 2 +- priv/templates/simplenode.runner | 2 +- test/upgrade_project/rel/files/dummy | 2 +- test/upgrade_project/rel/files/erl | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/priv/templates/simplenode.erl.script b/priv/templates/simplenode.erl.script index 7919d69..f4c63af 100644 --- a/priv/templates/simplenode.erl.script +++ b/priv/templates/simplenode.erl.script @@ -20,7 +20,7 @@ unset POSIX_SHELL ## start_clean.boot file available in $ROOTDIR/release/VSN. # Determine the abspath of where this script is executing from. -ERTS_BIN_DIR=$(cd ${0%/*} && pwd) +ERTS_BIN_DIR=$(cd ${0%/*} && pwd -P) # Now determine the root directory -- this script runs from erts-VSN/bin, # so we simply need to strip off two dirs from the end of the ERTS_BIN_DIR diff --git a/priv/templates/simplenode.runner b/priv/templates/simplenode.runner index 9835d92..c2ef258 100755 --- a/priv/templates/simplenode.runner +++ b/priv/templates/simplenode.runner @@ -15,7 +15,7 @@ fi # clear it so if we invoke other scripts, they run as ksh unset POSIX_SHELL -RUNNER_SCRIPT_DIR=$(cd ${0%/*} && pwd) +RUNNER_SCRIPT_DIR=$(cd ${0%/*} && pwd -P) CALLER_DIR=$PWD diff --git a/test/upgrade_project/rel/files/dummy b/test/upgrade_project/rel/files/dummy index cfbfd4f..83f29ba 100755 --- a/test/upgrade_project/rel/files/dummy +++ b/test/upgrade_project/rel/files/dummy @@ -2,7 +2,7 @@ # -*- tab-width:4;indent-tabs-mode:nil -*- # ex: ts=4 sw=4 et -RUNNER_SCRIPT_DIR=$(cd ${0%/*} && pwd) +RUNNER_SCRIPT_DIR=$(cd ${0%/*} && pwd -P) RUNNER_BASE_DIR=${RUNNER_SCRIPT_DIR%/*} RUNNER_ETC_DIR=$RUNNER_BASE_DIR/etc diff --git a/test/upgrade_project/rel/files/erl b/test/upgrade_project/rel/files/erl index 6f65e3f..4c1a4f7 100755 --- a/test/upgrade_project/rel/files/erl +++ b/test/upgrade_project/rel/files/erl @@ -10,7 +10,7 @@ ## file available in $ROOTDIR/release/VSN. # Determine the abspath of where this script is executing from. -ERTS_BIN_DIR=$(cd ${0%/*} && pwd) +ERTS_BIN_DIR=$(cd ${0%/*} && pwd -P) # Now determine the root directory -- this script runs from erts-VSN/bin, # so we simply need to strip off two dirs from the end of the ERTS_BIN_DIR