#!/bin/sh

#
# Aspera Central initialization script
#
# Aspera, Inc.
#

. /etc/rc.subr

name="asperacentral"
rcvar=`set_rcvar`

command="/usr/sbin/asperacentral"
pidfile="/var/run/aspera/asperacentral.pid"
portfile="/var/run/aspera/asperacentral.port"

sig_reload="HUP"

start_precmd="${name}_prestart"
start_postcmd="${name}_poststart"
stop_postcmd="${name}_poststop"
status_cmd="${name}_status"

asperacentral_enable="YES"

ADMINPORTFILE=/var/run/aspera/asperacentral.port

mkdir -p /usr/local/aspera/var/run/aspera/asperacentral
mkdir -p /ifs/.ifsvar/aspera/etc/asperacentral
mkdir -p /usr/local/aspera/etc/asperacentral

if ! test -L /var/run/aspera; then
    rm -rf /var/run/aspera
    ln -s /usr/local/aspera/var/run/aspera /var/run/aspera
fi

asperacentral_status() {
    if [ -f $ADMINPORTFILE ]; then
        adminport=`cat $ADMINPORTFILE`
        echo "Test asperacentral admin server (port $adminport)"
        nc -z localhost $adminport && echo "Running" && exit 0
        echo "Not running"; exit 1
    else
        echo "No asperacentral port file found"
        echo "Not running"; exit 1
    fi
}

asperacentral_prestart()
{
}

asperacentral_poststart()
{
    # FIXME: asperacentral must write out pid file
    pgrep asperacentral > $pidfile
}

asperacentral_poststop()
{
    rm -f $pidfile
    rm -f $portfile
}

load_rc_config $name
run_rc_command "$1"


