#!/bin/sh

RUNNER_SCHEMA_DIR=$RELEASE_ROOT_DIR/share/schema
RUNNER_LOG_DIR="${RUNNER_LOG_DIR:-/var/log/riak}"
RUNNER_LOG_DIR="${RUNNER_LOG_DIR:-$RELEASE_ROOT_DIR/log}"
RUNNER_BASE_DIR=$RELEASE_ROOT_DIR
RUNNER_ETC_DIR="${RUNNER_ETC_DIR:-/etc/riak}"
RUNNER_ETC_DIR="${RUNNER_ETC_DIR:-$RELEASE_ROOT_DIR/etc}"
RUNNER_GEN_DIR="${RUNNER_GEN_DIR:-/var/lib/riak}"
RUNNER_GEN_DIR="${RUNNER_GEN_DIR:-$RUNNER_BASE_DIR}"
CUTTLEFISHCMD="$ERTS_DIR/bin/escript $RELEASE_ROOT_DIR/bin/cuttlefish"

if CUTTLE_CONF=$($CUTTLEFISHCMD -e $RUNNER_ETC_DIR -d $RUNNER_GEN_DIR/generated.conf -s $RUNNER_SCHEMA_DIR -c "$RUNNER_ETC_DIR/riak.conf")
then
    export CONFIG_PATH=$(echo $CUTTLE_CONF | sed -E 's/.*-config ([^ ]+).*/\1/')
    export VMARGS_PATH=$(echo $CUTTLE_CONF | sed -E 's/.*-vm_args ([^ ]+).*/\1/')
    export RELX_CONFIG_PATH=$RUNNER_GEN_DIR/sys.config
    export RELX_VMARGS_PATH=$RUNNER_GEN_DIR/vm.args
    ln -sf $CONFIG_PATH $RELX_CONFIG_PATH
    ln -sf $VMARGS_PATH $RELX_VMARGS_PATH
else
    echo "Cuttlefish failed! Oh no!: $CUTTLEFISH_CONFIG"
    exit 1
fi

NODENAME=`egrep '^[ \t]*nodename[ \t]*=[ \t]*' "$RUNNER_ETC_DIR/riak.conf" 2> /dev/null | tail -n 1 | cut -d = -f 2`
if [ -z "$NODENAME" ]; then
    echo "vm.args needs to have a -name parameter."
    echo "  -sname is not supported."
    exit 1
else
    NAME_TYPE="-name"    
    NAME="${NODENAME# *}"
    export NAME

    PIPE_DIR="/tmp/erl_pipes/$NAME/"
    mkdir -p "$PIPE_DIR"
    export PIPE_DIR
fi
