#!/bin/sh
echo "Check Prerequisites for Linux"

if [[ -n ${DSY_Force_OS} ]]; then
  echo "DSY_Force_OS=\""${DSY_Force_OS}"\", no check prerequisites for Linux."
  return 0
fi


#--------------
# Set variables
#--------------
#set -x
set +o nounset
RC=0

case ${DSY_OS_Release} in
  #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  #++++++++++++++++++++++++++++++++  SUSE LINUX ++++++++++++++++++++++++++++++++++
  #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  "SUSELINUX"|"SUSE")
     SUMMARY=`cat /etc/products.d/baseproduct | grep \<summary\> |  awk -F'>' '{ print $2}' |  awk -F'<'  '{ print $1}'`
     MAJOR_VERSION=`cat /etc/products.d/baseproduct | grep \<baseversion\> |  awk -F'>' '{ print $2}' |  awk -F'<'  '{ print $1}'`
     PATCHLEVEL=`cat /etc/products.d/baseproduct | grep \<patchlevel\> |  awk -F'>' '{ print $2}' |  awk -F'<'  '{ print $1}'`
     
     echo $SUMMARY
     
     if [[ $MAJOR_VERSION -lt 12 ]] ; then
      echo ${DSY_OS_Release} 12 SP2 is the minimum required level. >&2
      RC=1
    else
      if [[ $MAJOR_VERSION -eq 12 ]] ; then
        if [[ $PATCHLEVEL -lt 2 ]] ; then
          echo ${DSY_OS_Release} 12 SP2 is the minimum required level. >&2
          RC=1
        fi
      fi
    fi   
  ;;


  #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  #+++++++++++++++++++++++++++++++  RedHatEnterpriseServer  ++++++++++++++++++++++
  #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  "RedHatEnterpriseServer"|"RedHatEnterpriseClient"|"RedHatEnterpriseWorkstation"|"CentOS"|"RedHatEnterprise"|"OracleServer")
   VERSION=`lsb_release --short -r|\
               awk -F' ' '{ print $1
               split($1,a,"[.]")
               if      (a[1]<7 ) exit 1
               else if (a[1]==7 && a[2]<2) exit 1 }'`
    rc=$?
    echo ${DSY_OS_Release} $VERSION 
    if [[ $rc -ne 0 ]] ; then
      echo ${DSY_OS_Release} 7.2 is the minimum required level. >&2
      RC=1
    fi
  ;;

  #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  #++++++++++++++++++++++++++++++  unknown  ++++++++++++++++++++++++++++++++++++++
  #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  *)
    echo ${DSY_OS_Release} unsupported operating system. >&2
    RC=1
  ;;
esac

#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

if [[ $RC = 0 ]] ; then
  echo Check Prerequisites for Linux OK.
else
  echo >&2
  echo ERROR: check Prerequisites for Linux KO. >&2
  echo >&2
fi
return $RC
