#!/bin/sh # # Installation script # # Usage: Install erl-root-dir [release-vsn [rel-file [node-name]]] ## Edit these if needed ERTS_VSN=5.0.1 DEFAULT_RELEASE_VSN=evas_rad-1.0 DEFAULT_NODE_NAME=evas COOKIE=hgRtSkk99thyKKjhY SNMP_INTERFACE=hme0 ALARMS_VSN=1.0 ## ERL_ROOT=$1 RELEASE_VSN=${2:-"$DEFAULT_RELEASE_VSN"} REL_FILE=${3:-start_sasl} NODE_NAME=${4:-"$DEFAULT_NODE_NAME"} if [ -z "$ERL_ROOT" -o ! -d "$ERL_ROOT" ] then echo "Install: need ERL_ROOT directory as argument" exit 1 fi if [ `echo $ERL_ROOT | awk '{ print substr($1,1,1) }'` != "/" ] then echo "Install: need an absolute path to ERL_ROOT" exit 1 fi if [ ! -d $ERL_ROOT/erts-$ERTS_VSN/bin ] then echo "Install: The directory $ERL_ROOT/erts-$ERTS_VSN/bin does not exist" echo " Bad location or erts module not un-tared" exit 1 fi if [ ! -d $ERL_ROOT/releases/$RELEASE_VSN ] then echo "Install: The directory $ERL_ROOT/releases/$RELEASE_VSN does " echo " not exist." exit 1 fi if [ ! -f $ERL_ROOT/releases/$REL_FILE.rel ] then echo "Install: The release file $ERL_ROOT/releases/$RELEASE_VSN/$REL_FILE.rel" echo " does not exist." exit 1 fi if [ ! -d $ERL_ROOT/bin ] then mkdir $ERL_ROOT/bin fi # # Get target system. # SYS=`(uname -s) 2>/dev/null` || SYS=unknown REL=`(uname -r) 2>/dev/null` || REL=unknown case $SYS:$REL in SunOS:5.*) TARGET=sunos5 ;; Linux:*) TARGET=linux ;; *) TARGET="" ;; esac cd $ERL_ROOT/erts-$ERTS_VSN/bin sed -e "s;%FINAL_ROOTDIR%;$ERL_ROOT;" erl.src > erl chmod 755 erl # # Create shell script file for embedded system use, # currently only on Solaris/SunOS 5 # if [ "X$TARGET" = "Xsunos5" ]; then (cd $ERL_ROOT/erts-$ERTS_VSN/bin; sed -e "s;%FINAL_ROOTDIR%;$ERL_ROOT;" -e "s;%NAME%;$NODE_NAME;" start.src > start; chmod 755 start) fi cd $ERL_ROOT/bin cp -p $ERL_ROOT/erts-$ERTS_VSN/bin/erl . cp -p $ERL_ROOT/erts-$ERTS_VSN/bin/erlc . if [ -h epmd ]; then /bin/rm -f epmd fi cp -p $ERL_ROOT/erts-$ERTS_VSN/bin/epmd . if [ "X$TARGET" = "Xsunos5" ]; then cp -p $ERL_ROOT/erts-$ERTS_VSN/bin/run_erl . cp -p $ERL_ROOT/erts-$ERTS_VSN/bin/to_erl . cp -p $ERL_ROOT/erts-$ERTS_VSN/bin/start . cp -p $ERL_ROOT/erts-$ERTS_VSN/bin/start.boot . # Added to allow bootstrap sed -e "s;%EMU%;beam;" $ERL_ROOT/erts-$ERTS_VSN/bin/start_erl.src > start_erl chmod 755 start_erl fi cd $ERL_ROOT/releases echo $ERTS_VSN $RELEASE_VSN > start_erl.data ## Start of EVAS Specific bits if [ ! -d $ERL_ROOT/log ] then mkdir $ERL_ROOT/log fi if [ ! -d $ERL_ROOT/sasl_logfiles ] then mkdir $ERL_ROOT/sasl_logfiles fi if [ ! -d $ERL_ROOT/stats ] then mkdir $ERL_ROOT/stats fi if [ ! -d $ERL_ROOT/mnesia_backups ] then mkdir $ERL_ROOT/mnesia_backups fi if [ ! -d $ERL_ROOT/app_logs ] then mkdir $ERL_ROOT/app_logs fi cd $ERL_ROOT/lib/alarms-$ALARMS_VSN/priv/snmp_conf IP_ADDR=`/usr/sbin/ifconfig $SNMP_INTERFACE | awk '$0 ~ /inet/ {print $2}'` IP_ADDR_ERL=`echo $IP_ADDR | sed -e "y/\./,/"` sed -e "s;%AGENT_IP%;$IP_ADDR_ERL;" agent.conf.src > agent.conf cd $ERL_ROOT if [ -f .erlang.cookie ] then chmod 700 .erlang.cookie rm .erlang.cookie fi echo $COOKIE > .erlang.cookie chmod 400 .erlang.cookie ## end of script