mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 11:06:20 +00:00
505458eecb
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.
44 lines
1.4 KiB
Bash
44 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
# /bin/sh on Solaris is not a POSIX compatible shell, but /usr/bin/ksh is.
|
|
if [ `uname -s` = 'SunOS' -a "${POSIX_SHELL}" != "true" ]; then
|
|
POSIX_SHELL="true"
|
|
export POSIX_SHELL
|
|
exec /usr/bin/ksh $0 "$@"
|
|
fi
|
|
|
|
# clear it so if we invoke other scripts, they run as ksh as well
|
|
unset POSIX_SHELL
|
|
|
|
## This script replaces the default "erl" in erts-VSN/bin. This is
|
|
## necessary as escript depends on erl and in turn, erl depends on
|
|
## having access to a bootscript (start.boot). Note that this script
|
|
## is ONLY invoked as a side-effect of running escript -- the embedded
|
|
## node bypasses erl and uses erlexec directly (as it should).
|
|
##
|
|
## Note that this script makes the assumption that there is a
|
|
## 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 -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
|
|
# path.
|
|
ROOTDIR=${ERTS_BIN_DIR%/*/*}
|
|
|
|
# Parse out release and erts info
|
|
START_ERL=`cat $ROOTDIR/releases/start_erl.data`
|
|
ERTS_VSN=${START_ERL% *}
|
|
APP_VSN=${START_ERL#* }
|
|
|
|
BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin
|
|
EMU=beam
|
|
PROGNAME=`echo $0 | sed 's/.*\\///'`
|
|
CMD="$BINDIR/erlexec"
|
|
export EMU
|
|
export ROOTDIR
|
|
export BINDIR
|
|
export PROGNAME
|
|
|
|
exec $CMD -boot $ROOTDIR/releases/$APP_VSN/start_clean ${1+"$@"}
|