#!/bin/sh
# Script to copy release files to ftp.sigmet.vaisala.com.

PROGRAM_NAME=`basename $0`

HELP="" ; VERSION=""

if [ -z ${FTP_USER} ] ; then
  SIGMET_FTP_USER=$USER
else
  SIGMET_FTP_USER=${FTP_USER}
fi


while [ "$1" != "" ] ; do
  OPT="$1" ; shift
  case ${OPT} in

  -help | -? | --help )
    HELP="true" ;;

  -version )
    if [ "${1}" = "" ] ; then
      echo "Missing version string for -version" 1>&2 ; exit 1
    else
      VERSION="${1}" ; shift
    fi ;;

  * )
    echo "Unknown option: '${OPT}', try '${PROGRAM_NAME} --help'" 1>&2 ; exit 1 ;;
 esac
done

######################################################################
# Sanity check certain arguments, and print HELP messages if these
# were requested either directly or indirectly.
######################################################################
if [ "${HELP}" = "true" ] ; then
  echo "Command Line Options:"
  echo "  -version <VER> : Set IRIS/RDA version to grab and build"
  exit 0
fi

if [ "${VERSION}" = "" ] ; then
  echo "ERROR: you must specify an IRIS/RDA version number"
  exit 1
fi


FTPHOST="ftp.sigmet.vaisala.com"
FTPROOT="/var/ftp/outgoing/releases/beta"

RELEASE_ROOT="/sigmet_info/releases"

# Check to see if the release files are there:
if [ ! -r ${RELEASE_ROOT}/${VERSION} ] ; then
    echo "ERROR: Release directory ${RELEASE_ROOT}/${VERSION} missing!"
    exit 1
fi



OS_LIST="CENTOS7 CENTOS8"

for OS in ${OS_LIST} ; do
    TYPE_LIST="iris rda"
    
    for TYPE in ${TYPE_LIST} ; do
	
	RELEASE_DIR="${RELEASE_ROOT}/${VERSION}/${OS}/${TYPE}"
	if [ -r ${RELEASE_DIR} ] ; then

	    FTP_DIR="${FTPROOT}/${VERSION}/${OS}/${TYPE}"
# Make the directory
	    ssh ${FTPHOST} -l ${SIGMET_FTP_USER} "mkdir -p ${FTP_DIR}"
	    if [ "$?" != "0" ] ; then
		echo "ERROR: mkdir ${FTP_DIR} failed."
		exit 1
	    fi
	    
	    COPY_PATHS=`find ${RELEASE_DIR} -type f -follow -print`
	    for COPY_PATH in ${COPY_PATHS} ; do
		COPY_FILE=${COPY_PATH##*/}
		if [ "rda-source.tgz" != ${COPY_FILE} ] ; then
		    echo "Copying: ${COPY_PATH} to ${FTPHOST}:${FTP_DIR}/${COPY_FILE}"
		    scp -pr ${COPY_PATH} ${SIGMET_FTP_USER}@${FTPHOST}:${FTP_DIR}/${COPY_FILE}
		fi		
	    done
	fi
	
    done
    
done


RELEASE_DIR="${RELEASE_ROOT}/${VERSION}"
if [ -r ${RELEASE_DIR} ] ; then

    FTP_DIR="${FTPROOT}/${VERSION}"
# Make the directory
    ssh ${FTPHOST} -l ${SIGMET_FTP_USER} "mkdir -p ${FTP_DIR}"
    if [ "$?" != "0" ] ; then
	echo "ERROR: mkdir ${FTP_DIR} failed."
	exit 1
    fi
    
    for COPY_FILE in MD5SUM irisrda_image.iso ; do
	
#   Copy over new file
	echo "Copying: ${RELEASE_DIR}/${COPY_FILE} to ${FTPHOST}:${FTP_DIR}/${COPY_FILE}"
	scp -pr ${RELEASE_DIR}/${COPY_FILE} ${SIGMET_FTP_USER}@${FTPHOST}:${FTP_DIR}/${COPY_FILE}
	
    done
fi


exit 0
