2011-07-17 17:04:19 +00:00
|
|
|
#!/bin/sh
|
2011-01-27 17:15:25 +00:00
|
|
|
|
2013-06-12 14:57:26 +00:00
|
|
|
# /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).
|
2011-01-27 17:15:25 +00:00
|
|
|
##
|
2013-06-12 14:57:26 +00:00
|
|
|
## Note that this script makes the assumption that there is a
|
|
|
|
## start_clean.boot file available in $ROOTDIR/release/VSN.
|
2011-01-27 17:15:25 +00:00
|
|
|
|
|
|
|
# Determine the abspath of where this script is executing from.
|
2013-06-10 20:15:49 +00:00
|
|
|
ERTS_BIN_DIR=$(cd ${0%/*} && pwd -P)
|
2011-01-27 17:15:25 +00:00
|
|
|
|
|
|
|
# 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+"$@"}
|