#!/bin/bash
TRACKER_CFG_DIR="/etc/tracker"
TRACKER_CFG_FILE="$TRACKER_CFG_DIR/aprs_tracker.ini"

function dbgecho { if [ ! -z "$DEBUG" ] ; then echo "$*"; fi }

# ===== function get_user

function get_user() {
   # Check if there is only a single user on this system
   if (( `ls /home | wc -l` == 1 )) ; then
      USER=$(ls /home)
   else
      if [ -f $TRACKER_CFG_FILE ] ; then
         # Found config file
         USER=$(grep -i "user" $TRACKER_CFG_FILE | cut -d"=" -f2 | tr -d ' ')
      else
         echo "No user found, startup failed"
	 exit
      fi
   fi
}

# ==== function check_user
# verify user name is legit

function check_user() {
   userok=false
   dbgecho "$scriptname: Verify user name: $USER"

   # Get list of users with home directories
   USERLIST="$(ls /home)"
   USERLIST="$(echo $USERLIST | tr '\n' ' ')"

   for username in $USERLIST ; do
      if [ "$USER" = "$username" ] ; then
         userok=true;
      fi
   done

   if [ "$userok" = "false" ] ; then
      echo "User name ($USER) does not exist,  must be one of: $USERLIST"
      exit 1
   fi

   dbgecho "using USER: $USER"
}

# ===== main
# Be sure we're running as root
if [[ $EUID != 0 ]] ; then
   echo "Must be root"
   exit 1
fi

get_user
check_user

screen -ls | grep "Tracker"
if (( $? == 0 )) ; then
   echo "Tracker already running."
   exit
fi
echo "Starting Tracker"

touch /tmp/aprs_tracker.log
cd /home/$USER/bin
screen -dmS Tracker -c /home/$USER/bin/.screenrc.trk
#echo "Starting Spy"
#screen -dmS Spy -c /etc/tracker/.screenrc.spy
# Set led0 to heartbeat blink
echo heartbeat > /sys/class/leds/led0/trigger
screen -ls
echo "finished starting tracker"
