From 88d1f29257869b0de9369881236477163804125a Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Tue, 28 Apr 2015 22:36:44 -0500 Subject: use mustache instead of erlydtl for overlays --- priv/templates/bin | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 priv/templates/bin (limited to 'priv/templates/bin') diff --git a/priv/templates/bin b/priv/templates/bin new file mode 100755 index 0000000..dd11707 --- /dev/null +++ b/priv/templates/bin @@ -0,0 +1,63 @@ +#!/bin/sh + +set -e + +SCRIPT_DIR="$(dirname "$0")" +RELEASE_ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +REL_NAME="{{ rel_name }}" +REL_VSN="{{ rel_vsn }}" +ERTS_VSN="{{ erts_vsn }}" +REL_DIR="$RELEASE_ROOT_DIR/releases/$REL_VSN" +ERL_OPTS="{{ erl_opts }}" + +find_erts_dir() { + local erts_dir="$RELEASE_ROOT_DIR/erts-$ERTS_VSN" + if [ -d "$erts_dir" ]; then + ERTS_DIR="$erts_dir"; + ROOTDIR="$RELEASE_ROOT_DIR" + else + local erl="$(which erl)" + code="io:format(\"~s\", [code:root_dir()]), halt()." + local erl_root="$("$erl" -noshell -eval "$code")" + ERTS_DIR="$erl_root/erts-$ERTS_VSN" + ROOTDIR="$erl_root" + fi +} + +find_sys_config() { + local possible_sys="$REL_DIR/sys.config" + if [ -f "$possible_sys" ]; then + SYS_CONFIG="$possible_sys" + fi +} + +find_vm_args() { + local possible_vm_args="$REL_DIR/vm.args" + if [ -f "$possible_vm_args" ]; then + VM_ARGS="$possible_vm_args" + fi +} + +find_erts_dir +find_sys_config +find_vm_args +export ROOTDIR="$RELEASE_ROOT_DIR" +export BINDIR="$ERTS_DIR/bin" +export EMU="beam" +export PROGNAME="erl" +export LD_LIBRARY_PATH="$ERTS_DIR/lib:$LD_LIBRARY_PATH" +ERTS_LIB_DIR="$ERTS_DIR/../lib" +[ -f "$REL_DIR/$REL_NAME.boot" ] && BOOTFILE="$REL_NAME" || BOOTFILE=start +cd "$ROOTDIR" + +# Save extra arguments +ARGS="$@" + +# Build arguments for erlexec +set -- "$ERL_OPTS" +[ "$SYS_CONFIG" ] && set -- "$@" -config "$SYS_CONFIG" +[ "$VM_ARGS" ] && set -- "$@" -args_file "$VM_ARGS" +set -- "$@" -boot_var ERTS_LIB_DIR "$ERTS_LIB_DIR" -boot "$REL_DIR/$BOOTFILE" "$ARGS" + +# Boot the release +$BINDIR/erlexec $@ -- cgit v1.2.3