#!/bin/bash
#
DEBUG=

TRACKER_CFG_DIR="/etc/tracker"
TRACKER_CFG_FILE="$TRACKER_CFG_DIR/aprs_tracker.ini"

DESC=tracker

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

DAEMON=/home/$USER/bin/tracker-up
DAEMONHALT=/home/$USER/bin/tracker-down

echo -n "Stopping $DESC: "
$DAEMONHALT
sleep 1
echo -n "Restarting $DESC: "
$DAEMON

exit 0
