From c4989f093913556355ee9f94318ca092c79de2d0 Mon Sep 17 00:00:00 2001 From: Jared Morrow Date: Wed, 16 Jan 2013 10:47:23 -0700 Subject: Change simplenode template files to work on more platforms When developing Riak, we have found bugs and other issues due to the number of platforms we support. Here is an overview of the changes: - Fix command-line syntax for commands to work on *BSD / Sun - Add chkconfig and getpid to nodetool - Replace platform specific 'kill' commands with a nodetool getpid method - Fix RUNNER_USER settings to work on *BSD --- priv/templates/simplenode.erl.script | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'priv/templates/simplenode.erl.script') diff --git a/priv/templates/simplenode.erl.script b/priv/templates/simplenode.erl.script index 6f65e3f..7919d69 100644 --- a/priv/templates/simplenode.erl.script +++ b/priv/templates/simplenode.erl.script @@ -1,13 +1,23 @@ #!/bin/sh -## 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). +# /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. +## 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) -- cgit v1.1