#!/usr/bin/sh
#set -x
################################################################################
## PRODUCT  : HGLM Agent Installer                                            ##
##                                                                            ##
## NAME     : installgetras.sh                                                ##
##                                                                            ##
## FUNCTION : HGLM installation trouble information gathering utility function##
##                                                                            ##
## DATE     : 2009.02.02                                                      ##
##                                                                            ##
## All Rights Reserved. Copyright (C) 2008, 2009, Hitachi, Ltd.               ##
################################################################################

## COMMAND PATH ##
ECHO="/usr/bin/echo"
MKDIR="/usr/bin/mkdir -p"
REMOVE="/usr/bin/rm -rf"
#COPY="/usr/bin/cp"                                                             # GLMAGTINST06200165
COPY="/usr/bin/cp -p"                                                           # GLMAGTINST06200165
TAR="/usr/bin/tar cf" 
COMPRESS="/usr/bin/compress"
TOUCH="/usr/bin/touch"
MOVE="/usr/bin/mv"

##RETURN VALUES##

NORMAL_TERMINATION_VALUE=0
PARAMETER_ERROR_VALUE=1
EXEC_ENVT_ERROR_VALUE=2
UNIX_CMD_ERROR_VALUE=15

## LOGFILE PATH
INSTALL_LOGDIR="/var/tmp"
INSTALL_LOGFILE=$INSTALL_LOGDIR"/HGLMAgent_install_util.log"
TEMP_DIR_LOC="/var/tmp/"                                                    # GLMAGTINST06200119 START
#TEMP_DIR="/var/tmp/instgetrasutil_tmp"
TEMP_DIR="instgetrasutil_tmp"                                               # GLMAGTINST06200119 END
VAR_DIR="/var"
ETC_DIR="/etc"

##INSTALL GETRAS DIR##
INSTGETRASDIR=""
COMPRESS_FILE="installgetras"                                                # GLMAGTINST06200130

################################################################################
## Creates a log file
## $- : No argument
################################################################################
create_log_file()
{
   
   if [ ! -f "${INSTALL_LOGFILE}" ]; then
         ${TOUCH} "${INSTALL_LOGFILE}" > /dev/null 2>&1
         RTN_CD=$?                                                                 # GLMAGTINST06200129 START
         if [ "$RTN_CD" != 0 ]; then
       # if [ $? != 0 ]; then
       #   print_messages "KAIF62926" "${TOUCH}" "$UNIX_CMD_ERROR_VALUE"
         print_messages "KAIF62926" "${TOUCH}" "$RTN_CD"                          # GLMAGTINST06200129 END
          exit $UNIX_CMD_ERROR_VALUE
         fi
   else
     LOG_FILE_SIZE=` du -sk "${INSTALL_LOGFILE}" |  awk '{ print $1;}' `
      if [ "${LOG_FILE_SIZE}" -gt 1024 ]; then
         ${MOVE} "${INSTALL_LOGFILE}" "${INSTALL_LOGFILE}.bak" >/dev/null  2>&1
         ${TOUCH} "${INSTALL_LOGFILE}" > /dev/null 2>&1
         RTN_CD=$?                                                                 # GLMAGTINST06200129 START
         if [ "$RTN_CD" != 0 ]; then
      #   if [ $? != 0 ]; then
      #    print_messages "KAIF62926" "${TOUCH}" "$UNIX_CMD_ERROR_VALUE"    
          print_messages "KAIF62926" "${TOUCH}" "$RTN_CD"                         # GLMAGTINST06200129 END
          exit $UNIX_CMD_ERROR_VALUE  
         fi
      fi
   fi
   return $NORMAL_TERMINATION_VALUE
}

################################################################################
## print_usage
## $*: No argument
################################################################################
print_usage()
{   
  #  ${ECHO} "Usage : installgetras { Collection information output destination directory name | -h }"    # GLMAGTINST06200106 # GLMAGTINST06200142
  #  ${ECHO} "usage: installgetras {output_directory_name|-h}"                                             # GLMAGTINST06200142 # GLMAGTINST06200150
    ${ECHO} "Usage: installgetras {output_directory_name|-h}"                                             # GLMAGTINST06200150
    exit $NORMAL_TERMINATION_VALUE
}

################################################################################
## print_messages
## $1  : KAIFXXXXX
## $2-*: various
################################################################################
print_messages()
{
    PRINT_MESSAGES_TMP_LEVEL=""
    PRINT_MESSAGES_TMP_MESSEGE=""
    PRINT_MESSAGES_TMP_PRINT=""

    case "$1" in
    'KAIF62900')
        PRINT_MESSAGES_TMP_LEVEL="INFO"    
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62900-I Installgetras utility is started."                # GLMAGTINST06200107                   
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62900-I installgetras will now start."                     # GLMAGTINST06200107
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
        ;;
    'KAIF62901')
        PRINT_MESSAGES_TMP_LEVEL="INFO"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62901-I Installgetras utility is normally terminated."    # GLMAGTINST06200107
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62901-I installgetras completed successfully."             # GLMAGTINST06200107
            ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;
    'KAIF62902')
        PRINT_MESSAGES_TMP_LEVEL="ERROR"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62902-E Installgetras utility is abnormally terminated."  # GLMAGTINST06200107
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62902-E installgetras ended abnormally."                   # GLMAGTINST06200107
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;
    'KAIF62903')                                                                                   # GLMAGTINST06200144 START # GLMAGTINST06201001 START
        PRINT_MESSAGES_TMP_LEVEL="INFO"
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62903-I The user terminated the installgetras"
            ;;
    'KAIF62904')
        PRINT_MESSAGES_TMP_LEVEL="INFO"
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62904-I The user inputted $2"
            ;;                                                                                     # GLMAGTINST06200144 END # GLMAGTINST06201001 END
    'KAIF62906')
        PRINT_MESSAGES_TMP_LEVEL="INFO"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62906-I "$2" is started."                                 # GLMAGTINST06200107
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62906-I $2 will now start."                                # GLMAGTINST06200107  
            ;;
    'KAIF62907')
        PRINT_MESSAGES_TMP_LEVEL="INFO" 
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62907-I $2 is terminated."                                # GLMAGTINST06200107
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62907-I $2 completed normally."                            # GLMAGTINST06200107
            ;;
    'KAIF62908')
        PRINT_MESSAGES_TMP_LEVEL="WARN"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62908-W File: Failed in acquisition of $2."               # GLMAGTINST06200107
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62908-W File $2 cannot be acquired."                       # GLMAGTINST06200107
            ;;
    'KAIF62920')
        PRINT_MESSAGES_TMP_LEVEL="ERROR"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62920-E There is no sufficient free space capacity in the disk."  # GLMAGTINST06200107   
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62920-E The disk does not have sufficient free space."             # GLMAGTINST06200107
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;                 
#    'KAIF62921')                                                                     # GLMAGTINST06200080 
#    'KAIF62221')                                                                      # GLMAGTINST06200080 # GLMAGTINST06200107 
    'KAIF62921')
        PRINT_MESSAGES_TMP_LEVEL="ERROR"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62221-E There is no permission to execute the installgetras utility."            # GLMAGTINST06200080 # GLMAGTINST06200107 
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62921-E There is no system management permission."                  # GLMAGTINST06200107 
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;        
    'KAIF62922')
        PRINT_MESSAGES_TMP_LEVEL="ERROR"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62922-E Incorrect parameter is specified. $2"             # GLMAGTINST06200107  
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62922-E A parameter is invalid. parameter = $2"            # GLMAGTINST06200107 
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;  
    'KAIF62923')
        PRINT_MESSAGES_TMP_LEVEL="ERROR"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62923-E Directory is not specified in the parameter."     # GLMAGTINST06200107 
	PRINT_MESSAGES_TMP_MESSEGE="KAIF62923-E No parameter has been specified."                  # GLMAGTINST06200107  
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;
    'KAIF62924')
        PRINT_MESSAGES_TMP_LEVEL="ERROR"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62924-E [/] is specified in the parameter as a directory. " # GLMAGTINST06200107     
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62924-E A root directory has been specified."                # GLMAGTINST06200107  
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;
    'KAIF62925')
        PRINT_MESSAGES_TMP_LEVEL="WARN"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62925-W UNIX command error has occurred. Command name = $2, rc = $3"  # GLMAGTINST06200107    
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62925-W An error occurred by a UNIX command. command = $2, rc = $3"    # GLMAGTINST06200107 
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;
    'KAIF62926')
        PRINT_MESSAGES_TMP_LEVEL="ERROR"
#        PRINT_MESSAGES_TMP_MESSEGE="KAIF62926-E UNIX command error has occurred. Command name = $2, rc = $3"   # GLMAGTINST06200107 
        PRINT_MESSAGES_TMP_MESSEGE="KAIF62926-E An error occurred by a UNIX command. command = $2, rc = $3"     # GLMAGTINST06200107 
        ${ECHO} "${PRINT_MESSAGES_TMP_MESSEGE}"
            ;;    
    'define')
            ;;
    esac    
    log_message  "${PRINT_MESSAGES_TMP_LEVEL}" "${PRINT_MESSAGES_TMP_MESSEGE}"
    return $NORMAL_TERMINATION_VALUE
}
################################################################################
## Print messages to log files
## $1 : Loglevel
## $3 : Message Id
################################################################################
log_message()
{
  #  DATE_STR=`date '+%m-%d-%Y  %H-%M-%S'`                                   # GLMAGTINST06200143
    DATE_STR=`date '+%Y-%m-%d %H:%M:%S'`                                     # GLMAGTINST06200143
    ${ECHO} $1 $DATE_STR $2  >> $INSTALL_LOGFILE
    return $NORMAL_TERMINATION_VALUE
}

################################################################################
## capacity_check
## $- : No Parameter
################################################################################
capacity_check()
{
    print_messages "KAIF62906" "Capacity check"    
    # size check /var/tmp
    
    DF_CHECK_TMP=`df -b /var/tmp | egrep ' [0-9]+$'`
    DISK_EMPTY_TMP=`${ECHO} $DF_CHECK_TMP | cut -f2 -d" "`    
#    if [ $DISK_EMPTY_TMP -lt 10240 ]; then                                          # GLMAGTINST06200081
    if [ $DISK_EMPTY_TMP -lt 10 ]; then                                              # GLMAGTINST06200081
          print_messages "KAIF62920"
          print_messages "KAIF62902"                                                 # GLMAGTINST06200107
          exit $EXEC_ENVT_ERROR_VALUE
    fi
    
    print_messages "KAIF62907" "Capacity check"
    return $NORMAL_TERMINATION_VALUE
}

################################################################################
## authority_check
## $- : No Parameter
################################################################################
authority_check()
{
    print_messages "KAIF62906" "Authority check"
    CHK_USER=`/usr/ucb/whoami | /usr/bin/grep root`
    if [ -z "$CHK_USER" ]; then
        print_messages "KAIF62921"
        print_messages "KAIF62902"
        exit $EXEC_ENVT_ERROR_VALUE
    fi    
    print_messages "KAIF62907" "Authority check"     
    return $NORMAL_TERMINATION_VALUE     
}
################################################################################
##Parameter Check
##$* : Arguments 
################################################################################

param_check()
{
print_messages "KAIF62906" "Parameter check"
PARAMLEN=`${ECHO} $* | wc -w`
if [ $PARAMLEN -gt 1 ]; then
        print_messages "KAIF62922" "$1"
        print_messages "KAIF62902"
        exit $PARAMETER_ERROR_VALUE
fi 
if [ $PARAMLEN -eq 1 ]; then
    if [ "$1" = "/" ]; then
      print_messages "KAIF62924"
      print_messages "KAIF62902"
      exit $PARAMETER_ERROR_VALUE
    fi
    if [ -d "$1" ]; then
      INSTGETRASDIR="$1"
 #     return $NORMAL_TERMINATION_VALUE                                             # GLMAGTINST06200148
    else
      $MKDIR "$1" > /dev/null 2>&1                                                   # GLMAGTINST06200088
       RTN_CD=$?                                                                     # GLMAGTINST06200083 START
      if [ $RTN_CD -ne 0 ]; then
        print_messages "KAIF62926" "$MKDIR" "$RTN_CD"                                # GLMAGTINST06200083 END
        print_messages "KAIF62902"
        exit $UNIX_CMD_ERROR_VALUE
      fi    
       INSTGETRASDIR="$1"    
    fi  
fi

if [ $PARAMLEN -eq 0 ]; then
   print_messages "KAIF62923"
   print_messages "KAIF62902"
   exit $PARAMETER_ERROR_VALUE
fi
print_messages "KAIF62907" "Parameter check"
return $NORMAL_TERMINATION_VALUE 
}
################################################################################
## Creation of temporary directory.
## $*: No argument
################################################################################

create_temp_directory()
{
  print_messages "KAIF62906" "Creation of temporary directory"
 # if [ -d ${TEMP_DIR} ]; then                                                       # GLMAGTINST06200119
  if [ -d ${TEMP_DIR_LOC}${TEMP_DIR} ]; then                                         # GLMAGTINST06200119 
 #   $REMOVE ${TEMP_DIR} > /dev/null 2>&1                                            # GLMAGTINST06200088 # GLMAGTINST06200119
    $REMOVE ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1                              # GLMAGTINST06200119
   RTN_CD=$?                                                                         # GLMAGTINST06200083 START
    if [ $RTN_CD -ne 0 ]; then
      print_messages "KAIF62926" "$REMOVE" "$RTN_CD"                                 # GLMAGTINST06200083 END
      print_messages "KAIF62902"
      exit $UNIX_CMD_ERROR_VALUE
    fi
 #    $MKDIR ${TEMP_DIR} > /dev/null 2>&1                                            # GLMAGTINST06200088 #GLMAGTINST06200119
     $MKDIR ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1                              #GLMAGTINST06200119
     RTN_CD=$?                                                                       # GLMAGTINST06200083 START
    if [ $RTN_CD -ne 0 ]; then
      print_messages "KAIF62926" "$MKDIR" "$RTN_CD"                                  # GLMAGTINST06200083 END 
      print_messages "KAIF62902"
      exit $UNIX_CMD_ERROR_VALUE
    fi
 #    chmod 775 ${TEMP_DIR}                                                            # GLMAGTINST06200082
     chmod 775 ${TEMP_DIR_LOC}${TEMP_DIR}                                             # GLMAGTINST06200119
 else
 #    $MKDIR ${TEMP_DIR} > /dev/null 2>&1                                              # GLMAGTINST06200088
    $MKDIR ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1                                # GLMAGTINST06200119               
     RTN_CD=$?                                                                       # GLMAGTINST06200083 START
    if [ $RTN_CD -ne 0 ]; then
      print_messages "KAIF62926" "$MKDIR" "$RTN_CD"                                  # GLMAGTINST06200083 END
      print_messages "KAIF62902"
      exit $UNIX_CMD_ERROR_VALUE
    fi
 #     chmod 775 ${TEMP_DIR}                                                         # GLMAGTINST06200119
    chmod 775 ${TEMP_DIR_LOC}${TEMP_DIR}                                             # GLMAGTINST06200119
 fi
      print_messages "KAIF62907" "Creation of temporary directory"
      return $NORMAL_TERMINATION_VALUE 
}
################################################################################
## Deletion of temporary directory.
## $*: No argument
################################################################################
delete_temp_directory()
{
print_messages "KAIF62906" "Deletion of temporary directory"
  #  if [ -d ${TEMP_DIR} ]; then
  #  $REMOVE ${TEMP_DIR} > /dev/null 2>&1                                              # GLMAGTINST06200088                
     if [ -d ${TEMP_DIR_LOC}${TEMP_DIR} ]; then                                       # GLMAGTINST06200119
     $REMOVE ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1                              # GLMAGTINST06200119                 
     RTN_CD=$?                                                                       # GLMAGTINST06200083 START
     if [ $RTN_CD -ne 0 ]; then
        print_messages "KAIF62926" "$REMOVE" "$RTN_CD"                               # GLMAGTINST06200083 END 
        print_messages "KAIF62902"
        exit $UNIX_CMD_ERROR_VALUE
     fi
    fi      
print_messages "KAIF62907" "Deletion of temporary directory"
return $NORMAL_TERMINATION_VALUE 
}

################################################################################
## Collecting information files 
## $*: No argument
################################################################################
collect_info()
{
print_messages "KAIF62906" "Collecting information files"

if [ -f $INSTALL_LOGDIR/HGLMAgent_install.* ]; then                                 # GLMAGTINST06200090 START
#   $COPY $INSTALL_LOGDIR/HGLMAgent_install.* ${TEMP_DIR} > /dev/null 2>&1               # GLMAGTINST06200119
   $COPY $INSTALL_LOGDIR/HGLMAgent_install.* ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1 # GLMAGTINST06200119
   RTN_CD=$?                                                                        
   if [ $RTN_CD -ne 0 ]; then                                                       
        print_messages "KAIF62925" "$COPY" "$RTN_CD"        
   fi                                                                               # GLMAGTINST06200090 END 
else
   print_messages "KAIF62908" "$VAR_DIR/tmp/HGLMAgent_install.log"
fi

if [ -f $INSTALL_LOGDIR/HBaseAgent_install.* ]; then                                # GLMAGTINST06200090 START
#   $COPY $INSTALL_LOGDIR/HBaseAgent_install.* ${TEMP_DIR} > /dev/null 2>&1               # GLMAGTINST06200119
   $COPY $INSTALL_LOGDIR/HBaseAgent_install.* ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1 # GLMAGTINST06200119
   RTN_CD=$?
   if [ $RTN_CD -ne 0 ]; then                                                       
        print_messages "KAIF62925" "$COPY" "$RTN_CD" 
   fi                                                                               # GLMAGTINST06200090 END
else
   print_messages "KAIF62908" "$VAR_DIR/tmp/HBaseAgent_install.log"
fi

if [ -f $INSTALL_LOGDIR/HGLMAgent_install_util.* ]; then                            # GLMAGTINST06200090 START
#   $COPY $INSTALL_LOGDIR/HGLMAgent_install_util.* ${TEMP_DIR} > /dev/null 2>&1                  # GLMAGTINST06200119
   $COPY $INSTALL_LOGDIR/HGLMAgent_install_util.* ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1    # GLMAGTINST06200119
   RTN_CD=$?                                                                        
   if [ $RTN_CD -ne 0 ]; then
        print_messages "KAIF62925" "$COPY" "$RTN_CD"         
   fi                                                                               # GLMAGTINST06200090 END
else
   print_messages "KAIF62908" "$VAR_DIR/tmp/HGLMAgent_install_util.log"
fi

#if [ -f $VAR_DIR/adm/messages.* ]; then                                            # GLMAGTINST06200091 START
#   $COPY $VAR_DIR/adm/messages.* ${TEMP_DIR}                                       
#else                                                                               
#   print_messages "KAIF62908" "$VAR_DIR/adm/messages.*"                            
#fi                                                                                 

if [ -f $ETC_DIR/syslog.conf ]; then
#   $COPY $ETC_DIR/syslog.conf ${TEMP_DIR}                                                       # GLMAGTINST06200119
    $COPY $ETC_DIR/syslog.conf ${TEMP_DIR_LOC}${TEMP_DIR}                                        # GLMAGTINST06200119
#   GET_SYSLOG_FILES=`/usr/ccs/bin/m4 /etc/syslog.conf                                            \               # GLMAGTINST06200132 START   
#                  |/usr/bin/nawk '$1!~/^#/ && $2~/^\// && $2!~/^\/dev\//                         \
#                   {n = split($1,item,";"); for (i = 1; i <= n; ++i) {                           \
#                    m = split(item[i],fc,".");                                                   \
#                      if (fc[2] != "none") {l = split(fc[1],fcs,",");                            \
#                       for (j = 1; j <= l; ++j)                                                  \
#                       if (fcs[j] == "*" || fcs[j] == "kern"                                     \
#                          || fcs[j] == "daemon" || fcs[j] == "user") {                           \
#                          print $2; print $2".0"; print $2".1"; print $2".2"; print $2".3"}}}}'  \
#                       | /usr/bin/sort -u`
   GET_SYSLOG_FILES=`/usr/ccs/bin/m4 /etc/syslog.conf                                            \
                  |/usr/bin/nawk '$1!~/^#/ && $2~/^\// && $2!~/^\/dev\//                         \
                   {n = split($1,item,";"); for (i = 1; i <= n; ++i) {                           \
                    m = split(item[i],fc,".");                                                   \
                      if (fc[2] != "none") {l = split(fc[1],fcs,",");                            \
                       for (j = 1; j <= l; ++j)                                                  \
                       if (fcs[j] == "*" || fcs[j] == "kern"                                     \
                          || fcs[j] == "daemon" || fcs[j] == "user") {                           \
                          print $2; print $2".*"}}}}'                                            \
                       | /usr/bin/sort -u`                                                                        # GLMAGTINST06200132 END
#    $COPY $GET_SYSLOG_FILES ${TEMP_DIR} > /dev/null 2>&1                             # GLMAGTINST06200091 END # GLMAGTINST06200119
   for i in $GET_SYSLOG_FILES                                                          # GLMAGTINST06200163 START
   do
    if [ -f "$i" ]; then
    # $COPY $GET_SYSLOG_FILES ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1               # GLMAGTINST06200119
    $COPY "$i" ${TEMP_DIR_LOC}${TEMP_DIR} > /dev/null 2>&1
    RTN_CD=$?                                                                        # GLMAGTINST06200090 START
    if [ $RTN_CD -ne 0 ]; then                              
        print_messages "KAIF62925" "$COPY" "$RTN_CD" 
    fi                                                                               # GLMAGTINST06200090 END
     fi
   done                                                                              # GLMAGTINST06200163 END
else
   print_messages "KAIF62908" "$ETC_DIR/syslog.conf"
fi
print_messages "KAIF62907" "Collecting information files"

return $NORMAL_TERMINATION_VALUE

}


################################################################################
## Compress the information files to tar.z format 
## $*: No argument
################################################################################
compress_info()
{
print_messages "KAIF62906" "Compressing files"
COMPRESS_FILE="installgetras"
CURRENT_DIR=`/usr/bin/pwd`                                                   # GLMAGTINST06200119
cd $TEMP_DIR_LOC                                                             # GLMAGTINST06200119

$TAR $COMPRESS_FILE.tar $TEMP_DIR > /dev/null 2>&1
 RTN_CD=$?                                                                          # GLMAGTINST06200083 START
if [ $RTN_CD -ne 0 ]; then
   print_messages "KAIF62926" "$TAR" "$RTN_CD"                                      # GLMAGTINST06200083 END
   print_messages "KAIF62902"
   exit $UNIX_CMD_ERROR_VALUE
fi

$COMPRESS -f $COMPRESS_FILE.tar 2>&1                                         # GLMAGTINST06200062 START
 RTN_CD=$?                                                                          # GLMAGTINST06200083 START
if [ $RTN_CD -ne 0 ]; then
   print_messages "KAIF62926" "$COMPRESS" "$RTN_CD"                                 # GLMAGTINST06200083 END
   print_messages "KAIF62902"
   exit $UNIX_CMD_ERROR_VALUE
fi                                                                           # GLMAGTINST06200062 END


#GETRAS_FILE=$INSTGETRASDIR/$COMPRESS_FILE.tar.Z                                                                 # GLMAGTINST06200130 START
#if [ -f $GETRAS_FILE ]; then
#user_confirmation                                                                  # GLMAGTINST06200092 START
#user_confirmation                                                                   # GLMAGTINST06200107 
#print_messages "KAIF62901"                                                          
#exit $NORMAL_TERMINATION_VALUE                                                      # GLMAGTINST06200092 END 
#else                                                                                                            # GLMAGTINST06200130 END
  ${MOVE} -f $COMPRESS_FILE.tar.Z "$INSTGETRASDIR" > /dev/null 2>&1
   RTN_CD=$?                                                                        # GLMAGTINST06200083 START
   if [ $RTN_CD -ne 0 ]; then
      print_messages "KAIF62926" "/usr/bin/mv -f" "$RTN_CD"                         # GLMAGTINST06200083 END 
      print_messages "KAIF62902"
      exit $UNIX_CMD_ERROR_VALUE
   fi
#fi                                                                                                               # GLMAGTINST06200130    
cd $CURRENT_DIR                                                                      # GLMAGTINST06200119
print_messages "KAIF62907" "Compressing files"
return $NORMAL_TERMINATION_VALUE 
}


################################################################################
## User Confirmation to overwrite the file
## $*: No argument
################################################################################   
user_confirmation()                                                                # GLMAGTINST06200092  start # GLMAGTINST06200107 START
{
#  $ECHO "The file exists. Please input (Y)es when overwriting, and input (N)o when you end utility. :\c "
   $ECHO "The specified directory already exists.  Input (Y)es to overwrite ,or input (N)o to end the installgetras:"
   read RESPONSE
   print_messages "KAIF62904" "$RESPONSE"                                                         # GLMAGTINST06200144 # GLMAGTINST06201001
   case $RESPONSE in
      Y | y) #${MOVE} -f $COMPRESS_FILE.tar.Z "$INSTGETRASDIR" > /dev/null 2>&1                  # GLMAGTINST06200130 START
             #if [ $? -ne 0 ]; then
             #   print_messages "KAIF62926" "/usr/bin/mv -f" "$UNIX_CMD_ERROR_VALUE"
             #   print_messages "KAIF62902"
             #   exit $UNIX_CMD_ERROR_VALUE
             #fi
             #delete_temp_directory
             continue                                                                             # GLMAGTINST06200130  END
             ;;
     N | n) # $REMOVE $COMPRESS_FILE.tar.Z                                           # GLMAGTINST06200071  # GLMAGTINST06200130
           # print_messages "KAIF62901"                                                             # GLMAGTINST06200144 # GLMAGTINST06201001
            print_messages "KAIF62903"                                                              # GLMAGTINST06200144 # GLMAGTINST06201001
            exit $NORMAL_TERMINATION_VALUE
            ;;
     *) user_confirmation 
        ;;
   esac
  return $NORMAL_TERMINATION_VALUE 
}                                                                                  # GLMAGTINST06200092 end # GLMAGTINST06200107 END


################################################################################
## Main Method starts
################################################################################
LANG=C
LC_ALL=C
export LANG LC_ALL
for i in "$@" ; do
  if [ "$i" = "-h"  ] ; then 
     print_usage
  fi 
done
create_log_file
print_messages "KAIF62900" 
capacity_check
authority_check
param_check $*
if [ -f $INSTGETRASDIR/$COMPRESS_FILE.tar.Z ]; then                                    # GLMAGTINST06200130 START
user_confirmation
fi                                                                                     # GLMAGTINST06200130 END
create_temp_directory
collect_info
compress_info
delete_temp_directory
print_messages "KAIF62901"
exit $NORMAL_TERMINATION_VALUE
