# /* # * << request >> # * All Rights Reserved. Copyright (C) 2001, 2008, Hitachi, Ltd. # */ LC_ALL=C ; export LC_ALL # DRVSOL0502SB0001 SOLVER=0 VERSIONFLG=0 LANG_JP='' PLAT='' PRE_MSG="" # DRVSOL05040058 ############# Platform judging #################### PLAT=`uname -p` if [ $PLAT != "sparc" ]; then echo "KAPL09033-E HDLM supports only SPARC platform systems. Please install HDLM on a supported architecture." # DRVSOL05940048 echo "" exit 1 fi #################################################### ############# OS judging ########################## SOLVER=`uname -r` if [ $SOLVER != "5.8" -a $SOLVER != "5.9" -a $SOLVER != "5.10" ]; then # DRVSOL05610006 # DRVSOL05900005 echo "KAPL09027-E This version of the OS is not supported. Please install HDLM on a supported OS." # DRVSOL05940048 echo "" exit 1 fi #################################################### if [ "${SOLVER}" != "5.8" -a "${SOLVER}" != "5.9" ] # DRVSOL05900005 then ZONENAME=`zonename` if [ "${ZONENAME}" != "global" ] then echo "KAPL09140-E HDLM cannot be installed in this zone. Install it in the global zone." echo "" exit 1 fi fi # Set version flag DRVSOL05040073 START if [ "${SOLVER}" = "5.8" ] # DRVSOL05900005 then VERSIONFLG=3 elif [ "${SOLVER}" = "5.9" ] then VERSIONFLG=4 elif [ "${SOLVER}" = "5.10" ] # DRVSOL05610006 then # DRVSOL05610006 VERSIONFLG=5 # DRVSOL05610006 fi # DRVSOL05040073 END # DRVSOL05040047 START # DRVSOL0540SA0003 # DRVSOL05900005 SOL8_REQ_PATCHES="108434-04 108974-10" CheckPatchNum() { CPN_RVAL=1 PATCH_RVN=`echo "${1}" \ | awk -F"-" '{print $2}'` if [ -z "${PATCH_RVN}" ] then return "${CPN_RVAL}" fi if [ "${PATCH_RVN}" -lt "${2}" ] then return "${CPN_RVAL}" fi CPN_RVAL=0 return "${CPN_RVAL}" } CheckObsPatch() { # Get the obsoletes patches # Get the string from # "Patch: XXXXXX-XX Obsoletes: XXXXXX-XX, XXXXXX-XX Requires: XXXXXX-XX" # ^----------------------------^ OBS_PATCHES=`showrev -p \ | awk -F":" '{print $3}' \ | awk -F":" '{print $1}'` OBS_RVAL=1 if [ -z "${OBS_PATCHES}" ] then return "${OBS_RVAL}" fi for OBS_PATCH in `echo ${OBS_PATCHES}` do echo "${OBS_PATCH}" | grep "${1}-" > /dev/null 2>&1 # DRVSOL05040072 if [ $? -ne 0 ] then continue fi # remove "," charactor echo "${OBS_PATCH}" | grep "," > /dev/null 2>&1 # DRVSOL05040066 if [ $? -eq 0 ] then OBS_PATCH=`echo "${OBS_PATCH}" \ | awk -F"," '{print $1}'` fi # Check the patch ID DRVSOL05040072 START CheckPatchNum "${OBS_PATCH}" "${2}" if [ $? -ne 0 ] then continue fi PATCH_ID="${OBS_PATCH}" OBS_RVAL=0 return "${OBS_RVAL}" # DRVSOL05040072 END done return "${OBS_RVAL}" } SaveOrPatch() { if [ -z "${OR_PATCHES}" ] then return fi for PATCH_SAVE in `echo ${OR_PATCHES}` do # Get the patch ID which includes another. DRVSOL05040068 05040072 SAVE_INCLUDE=`echo ${PATCH_SAVE} \ | awk -F":" '{print $1}'` # DRVSOL05040072 echo "${SAVE_INCLUDE}" | grep "${1}-" > /dev/null 2>&1 # DRVSOL05040072 if [ $? -eq 0 ] then SAVE_INCLUDE_RVN=`echo ${SAVE_INCLUDE} \ | awk -F"-" '{print $2}'` # DRVSOL05040072 START # Check the patch ID CheckPatchNum "${2}" "${SAVE_INCLUDE_RVN}" if [ $? -ne 0 ] then continue fi # Get the patch ID which included another. SAVE_INCLUDED=`echo ${PATCH_SAVE} \ | awk -F":" '{print $2}'` OR_PATCHES_CHECKED=`echo "${OR_PATCHES_CHECKED} ${SAVE_INCLUDE} ${SAVE_INCLUDED}"` # DRVSOL05040068 05040072 END break fi done return } CheckSysPatch() { CSP_RVAL=1 for PATCH_ID in `echo ${1}` do # Check the patch ID CheckPatchNum "${PATCH_ID}" "${2}" if [ $? -eq 0 ] then CSP_RVAL=0 return "${CSP_RVAL}" fi done return "${CSP_RVAL}" } CheckPatch() { CP_RVAL=1 # Get the patch base code REQ_BASE=`echo ${1} | awk -F"-" '{print $1}'` # Get the patch revision number REQ_REVN=`echo ${1} | awk -F"-" '{print $2}'` # Get the system patches SYS_PATCHES=`showrev -p \ | fgrep "Patch: ${REQ_BASE}-" \ | awk '{print $2}'` if [ -n "${SYS_PATCHES}" ] then # Check the system patches CheckSysPatch "${SYS_PATCHES}" "${REQ_REVN}" if [ $? -eq 0 ] then CP_RVAL=0 fi fi if [ "${CP_RVAL}" -ne 0 ] then # Check the obsolate patches CheckObsPatch "${REQ_BASE}" "${REQ_REVN}" # DRVSOL05040072 if [ $? -eq 0 ] then CP_RVAL=0 # DRVSOL05040072 fi fi if [ "${CP_RVAL}" -ne 0 ] then return "${CP_RVAL}" fi # Save the patch ID if ${1} is OR_PATCHES SaveOrPatch "${REQ_BASE}" "${PATCH_ID}" # DRVSOL05040072 return "${CP_RVAL}" } OrPatchChecked() { ORP_RVAL=1 if [ -z "${OR_PATCHES_CHECKED}" ] then return "${ORP_RVAL}" fi for PATCH_CHECKED in `echo ${OR_PATCHES_CHECKED}` do if [ "${1}" = "${PATCH_CHECKED}" ] then ORP_RVAL=0 return "${ORP_RVAL}" fi done return "${ORP_RVAL}" } CheckOrPatch() { COP_RVAL=1 if [ -z "${OR_PATCHES}" ] then return "${COP_RVAL}" fi for OR_PATCH in `echo ${OR_PATCHES}` do echo "${OR_PATCH}" | grep "${1}" > /dev/null 2>&1 if [ $? -eq 0 ] then # Get the patch ID which includes another. INCLUDE_PATCH=`echo ${OR_PATCH} \ | awk -F":" '{print $1}'` if [ "${1}" = "${INCLUDE_PATCH}" ] then return "${COP_RVAL}" fi OrPatchChecked "${1}" if [ $? -eq 0 ] then COP_RVAL=0 return "${COP_RVAL}" fi OrPatchChecked "${INCLUDE_PATCH}" if [ $? -eq 0 ] then COP_RVAL=0 return "${COP_RVAL}" fi CheckPatch "${INCLUDE_PATCH}" if [ $? -eq 0 ] then COP_RVAL=0 return "${COP_RVAL}" fi break fi done return "${COP_RVAL}" } SaveNotInstPatch() # DRVSOL05410016 START { NOT_INST_PATCH="${1} or later" if [ -z "${NOT_INST_PATCHES}" ] then NOT_INST_PATCHES="${NOT_INST_PATCH}" else NOT_INST_PATCHES="${NOT_INST_PATCHES},${NOT_INST_PATCH}" # DRVSOL05940048 fi } # DRVSOL05410016 END # main routine that check the patch ID if [ "${SOLVER}" = "5.8" ] # DRVSOL05900005 then REQ_PATCHES=${SOL8_REQ_PATCHES} OR_PATCHES="" else # DRVSOL05040073 REQ_PATCHES="" # DRVSOL05040071 OR_PATCHES="" # DRVSOL05040071 fi OR_PATCHES_CHECKED="" PATCHFLG=1 NOT_INST_PATCHES="" # DRVSOL05410016 if [ -n "${REQ_PATCHES}" ] then for REQ_PATCH in `echo ${REQ_PATCHES}` do # Check whether REQ_PATCH has already checked or not. CheckOrPatch "${REQ_PATCH}" if [ $? -ne 0 ] then # Check the REQ_PATCH CheckPatch "${REQ_PATCH}" if [ $? -ne 0 ] then PATCHFLG=0 SaveNotInstPatch "${REQ_PATCH}" # DRVSOL05410016 fi fi done fi # DRVSOL05040047 END if [ $PATCHFLG -eq 0 ]; then # DRVSOL05410016 START echo "KAPL09133-E One or more required patches (${NOT_INST_PATCHES}) could not be found." # DRVSOL05940048 echo "Please apply all required patches then install again." # DRVSOL05940048 echo "" # DRVSOL05410016 END exit 1 fi ### ServicePack Support DRVSOL05040058 ### HDLM_UPDATE_FLAG=0 HDLM_COMPAT_FLAG=0 UPDATE_SOL89=0500 #05-00 # DRVSOL05900005 HDLM_UPDATE_FLAG=0 HDLM_COMPAT_FLAG=0 HDLM_CURRENT_SPECIAL_FLG=0 PRE_FLG=0 PRE_S2_CHAR="" /bin/pkgparam $PKG > /dev/null 2>&1 if [ $? -eq 0 ]; then HDLM_UPDATE_FLAG=1 fi if [ $HDLM_UPDATE_FLAG -eq 1 ]; then PRE_HDLM_VERSION=`/bin/pkgparam $PKG OLD_FORMAT` # DRVSOL06000015 if [ -z "$PRE_HDLM_VERSION" ]; then # DRVSOL06000015 PRE_HDLM_VERSION=`/bin/pkgparam $PKG VERSION` # DRVSOL06000015 fi # DRVSOL06000015 PRE_HDLM_VERSION_NEW_FORMAT=`/bin/pkgparam $PKG VERSION` # DRVSOL06000015 if [ -f $BASEDIR/opt/DynamicLinkManager/config/version ]; then PRE_HDLM_UPDATE_VERSION=`/bin/cat $BASEDIR/opt/DynamicLinkManager/config/version` if [ "$PRE_HDLM_UPDATE_VERSION" = "$PRE_HDLM_VERSION" ]; then HDLM_COMPAT_FLAG=1 fi else if [ "$PRE_HDLM_VERSION" = "$OLD_FORMAT" ]; then # DRVSOL06000015 HDLM_COMPAT_FLAG=1 fi fi fi CURRENT_HDLM_SPECIAL=`echo "$OLD_FORMAT" | /bin/awk -F"-" '{print $3}'` # DRVSOL06000015 CURRENT_HDLM_SPECIAL_S1=`echo "$CURRENT_HDLM_SPECIAL" | /bin/cut -c1` CURRENT_HDLM_SPECIAL_S2=`echo "$CURRENT_HDLM_SPECIAL" | /bin/cut -c2` PRE_HDLM_SPECIAL=`echo "$PRE_HDLM_VERSION" | /bin/awk -F"-" '{print $3}'` PRE_HDLM_SPECIAL_S1=`echo "$PRE_HDLM_SPECIAL" | /bin/cut -c1` PRE_HDLM_SPECIAL_S2=`echo "$PRE_HDLM_SPECIAL" | /bin/cut -c2` if [ -z "$PRE_HDLM_SPECIAL" ]; then PRE_HDLM_SPECIAL_S1=0 PRE_HDLM_SPECIAL_S2=0 PRE_HDLM_SPECIAL=$PRE_HDLM_SPECIAL_S1$PRE_HDLM_SPECIAL_S2 PRE_FLG=1 fi if [ -z "$CURRENT_HDLM_SPECIAL" ]; then CURRENT_HDLM_SPECIAL_S1=0 CURRENT_HDLM_SPECIAL_S2=0 CURRENT_HDLM_SPECIAL=$CURRENT_HDLM_SPECIAL_S1$CURRENT_HDLM_SPECIAL_S2 fi ###### # regular or Service Patch if [ $PRE_HDLM_SPECIAL_S1 = "/" ]; then PRE_MSG="HDLM" elif [ $PRE_HDLM_SPECIAL_S1 = 0 ]; then PRE_MSG="HDLM" elif [ -z "$PRE_HDLM_SPECIAL_S2" ]; then PRE_MSG="HDLM" else PRE_MSG="ServicePack" fi # Transliteration /A -> A0 if [ $PRE_HDLM_SPECIAL_S1 = "/" ]; then PRE_HDLM_SPECIAL_S1=$PRE_HDLM_SPECIAL_S2 PRE_HDLM_SPECIAL_S2=0 PRE_HDLM_SPECIAL=$PRE_HDLM_SPECIAL_S1$PRE_HDLM_SPECIAL_S2 PRE_PATCH_FLG=1 fi if [ $CURRENT_HDLM_SPECIAL_S1 = "/" ]; then CURRENT_HDLM_SPECIAL_S1=$CURRENT_HDLM_SPECIAL_S2 CURRENT_HDLM_SPECIAL_S2=0 CURRENT_HDLM_SPECIAL=$CURRENT_HDLM_SPECIAL_S1$CURRENT_HDLM_SPECIAL_S2 CURRENT_PATCH_FLG=1 fi ver_judg(){ #$1:PRE_HDLM_SPECIAL_S1 #$2:PRE_HDLM_SPECIAL_S2 #$3:CURRENT_HDLM_SPECIAL_S1 #$4:CURRENT_HDLM_SPECIAL_S2 ## SPECIAL Compensation Func ## comp (){ # $1: HDLM_SPECIAL_S* HDLM_SPECIAL_NUM="" HDLM_SPECIAL_CHAR="" if [ -n "$1" ]; then HDLM_SPECIAL_NUM=`echo "$1" |grep '[0-9]'` #DRVSOL05940007 if [ -z "$HDLM_SPECIAL_NUM" ]; then HDLM_SPECIAL_CHAR=`echo "$1" |grep '[A-Z]'` #DRVSOL05940007 if [ -n "$1" ]; then return 1 else echo "" echo "KAPL09505-E HDLM $VERSION cannot be applied to the installed $PRE_MSG $PRE_HDLM_VERSION_NEW_FORMAT." # DRVSOL06000015 echo "" exit 1 fi else return 0 fi fi } ## PRE_SPECIAL_S1 ## comp "$1" if [ $? -eq 0 ]; then PRE_HDLM_SPECIAL_S1_FLG=0 elif [ $? -eq 1 ]; then PRE_HDLM_SPECIAL_S1_FLG=1 fi ## PRE_SPECIAL_S2 ## if [ -n "$2" ]; then comp "$2" if [ $? -eq 0 ]; then PRE_HDLM_SPECIAL_S2_FLG=0 elif [ $? -eq 1 ]; then PRE_HDLM_SPECIAL_S2_FLG=1 fi else PRE_HDLM_SPECIAL_S2_FLG=1 fi ## CURRENT_SPECIAL_S1 ## comp "$3" if [ $? -eq 0 ]; then CURRENT_HDLM_SPECIAL_S1_FLG=0 elif [ $? -eq 1 ]; then CURRENT_HDLM_SPECIAL_S1_FLG=1 fi ## CURRENT_SPECIAL_S2 ## if [ -n "$4" ]; then comp "$4" if [ $? -eq 0 ]; then CURRENT_HDLM_SPECIAL_S2_FLG=0 elif [ $? -eq 1 ]; then CURRENT_HDLM_SPECIAL_S2_FLG=1 fi else CURRENT_HDLM_SPECIAL_S2_FLG=1 fi ## INSTALL NG CASE ## if [ $PRE_HDLM_SPECIAL_S1_FLG -eq 0 -a $CURRENT_HDLM_SPECIAL_S1_FLG -eq 1 ]; then if [ $PRE_HDLM_SPECIAL_S2_FLG -eq 0 -a $CURRENT_HDLM_SPECIAL_S2_FLG -eq 1 ]; then if [ $PRE_FLG -eq 0 ]; then echo "" echo "KAPL09505-E HDLM $VERSION cannot be applied to the installed $PRE_MSG $PRE_HDLM_VERSION_NEW_FORMAT." # DRVSOL06000015 echo "" exit 1 fi fi fi if [ $PRE_HDLM_SPECIAL_S1_FLG -eq 1 -a $CURRENT_HDLM_SPECIAL_S1_FLG -eq 1 ]; then if [ $PRE_HDLM_SPECIAL_S2_FLG -eq 0 -a $CURRENT_HDLM_SPECIAL_S2_FLG -eq 1 ]; then echo "" echo "KAPL09505-E HDLM $VERSION cannot be applied to the installed $PRE_MSG $PRE_HDLM_VERSION_NEW_FORMAT." # DRVSOL06000015 echo "" exit 1 fi if [ $PRE_HDLM_SPECIAL_S2_FLG -eq 1 -a $CURRENT_HDLM_SPECIAL_S2_FLG -eq 0 ]; then echo "" echo "KAPL09505-E HDLM $VERSION cannot be applied to the installed $PRE_MSG $PRE_HDLM_VERSION_NEW_FORMAT." # DRVSOL06000015 echo "" exit 1 fi if [ $PRE_HDLM_SPECIAL_S2_FLG -eq 1 -a $CURRENT_HDLM_SPECIAL_S2_FLG -eq 1 ]; then if [ $PRE_HDLM_SPECIAL_S1 != $CURRENT_HDLM_SPECIAL_S1 ]; then echo "" echo "KAPL09505-E HDLM $VERSION cannot be applied to the installed $PRE_MSG $PRE_HDLM_VERSION_NEW_FORMAT." # DRVSOL06000015 echo "" exit 1 fi fi fi if [ $PRE_HDLM_SPECIAL_S1_FLG -eq 1 -a $CURRENT_HDLM_SPECIAL_S1_FLG -eq 0 ]; then if [ $PRE_HDLM_SPECIAL_S2_FLG -eq 0 ]; then # DRVSOL06000016 echo "" # Downgrade echo "KAPL09029-E This version of HDLM cannot be updated by installation." echo "Uninstall the already installed version of HDLM." echo "" exit 1 else echo "" echo "KAPL09505-E HDLM $VERSION cannot be applied to the installed $PRE_MSG $PRE_HDLM_VERSION_NEW_FORMAT." # DRVSOL06000015 echo "" exit 1 fi fi ## The size decision of the character line. ## ## It is the path of the "awk" command used for the size judging of a character string. ## Please do not change a path. CHAR_JUDG=`/usr/xpg4/bin/awk -v P_BASE="$PRE_HDLM_SPECIAL" -v P_PATCH="$CURRENT_HDLM_SPECIAL" ' BEGIN{ if ( P_BASE < P_PATCH ) print "OK" else if ( P_BASE > P_PATCH ) print "NG" else print "EQ" } {}' < /dev/null` if [ $CHAR_JUDG = "OK" ]; then HDLM_COMPAT_FLAG=1 elif [ $CHAR_JUDG = "EQ" ]; then # echo "" # echo "KAPL-**** same version" # echo "" HDLM_COMPAT_FLAG=1 else #Downgrade echo "" echo "KAPL09029-E This version of HDLM cannot be updated by installation." echo "Uninstall the already installed version of HDLM." echo "" exit 1 fi } PRE_HDLM_MAJOR=`echo "$PRE_HDLM_VERSION" | /bin/awk -F"-" '{print $1}'` #DRVSOL05410012 HDLM_MAJOR=`echo "$OLD_FORMAT" | /bin/awk -F"-" '{print $1}'` #DRVSOL05410012,DRVSOL06000021 PRE_HDLM_MINOR=`echo "$PRE_HDLM_VERSION" | /bin/awk -F"-" '{print $2}'` #DRVSOL05410012 HDLM_MINOR=`echo "$OLD_FORMAT" | /bin/awk -F"-" '{print $2}'` #DRVSOL05410012,DRVSOL06000021,DRVSOL06000023 PRE_VERSION=$PRE_HDLM_MAJOR$PRE_HDLM_MINOR #DRVSOL05410012 CURRENT_VERSION=$HDLM_MAJOR$HDLM_MINOR #DRVSOL05410012 if [ $HDLM_UPDATE_FLAG -eq 1 -a $HDLM_COMPAT_FLAG -eq 0 ]; then if [ "$PRE_VERSION" -le "$CURRENT_VERSION" ]; then COMPATIBLE_FILE=compatible89 # DRVSOL05900005 HDLM_COMPAT_VERSION="" for HDLM_COMPAT_VERSION in `/bin/cat $INST_DATADIR/DLManager/install/$COMPATIBLE_FILE` do if [ -n "$PRE_HDLM_SPECIAL" ]; then HDLM_COMPAT_SPECIAL=`echo "$HDLM_COMPAT_VERSION" | /bin/awk -F"-" '{print $3}'` CURRENT_HDLM_SPECIAL=`echo "$OLD_FORMAT" | /bin/awk -F"-" '{print $3}'` #DRVSOL06000021 CURRENT_HDLM_SPECIAL_S1=`echo "$CURRENT_HDLM_SPECIAL" | /bin/cut -c1` CURRENT_HDLM_SPECIAL_S2=`echo "$CURRENT_HDLM_SPECIAL" | /bin/cut -c2` if [ -n "$HDLM_COMPAT_SPECIAL" ]; then echo "$HDLM_COMPAT_SPECIAL" | /bin/grep "*" > /dev/null 2>&1 if [ $? -eq 0 ]; then spe_cnt=1 HDLM_COMPAT_SPECIAL_FLAG=1 while [ 1 ] do HDLM_COMPAT_SPECIAL_CHAR=`echo "$HDLM_COMPAT_SPECIAL" | /bin/cut -c$spe_cnt` if [ -z "$HDLM_COMPAT_SPECIAL_CHAR" ]; then break fi if [ "$HDLM_COMPAT_SPECIAL_CHAR" = "*" ]; then spe_cnt=`/bin/expr $spe_cnt + 1` continue fi PRE_HDLM_SPECIAL_CHAR=`echo "$PRE_HDLM_SPECIAL" | /bin/cut -c$spe_cnt` if [ "$HDLM_COMPAT_SPECIAL_CHAR" != "$PRE_HDLM_SPECIAL_CHAR" ]; then HDLM_COMPAT_SPECIAL_FLAG=0 break fi spe_cnt=`/bin/expr $spe_cnt + 1` done if [ $HDLM_COMPAT_SPECIAL_FLAG -eq 1 ]; then HDLM_COMPAT_MAJOR=`echo $HDLM_COMPAT_VERSION | /bin/awk -F"-" '{print $1}'` HDLM_COMPAT_MINOR=`echo $HDLM_COMPAT_VERSION | /bin/awk -F"-" '{print $2}'` if [ $HDLM_COMPAT_MAJOR -eq $PRE_HDLM_MAJOR -a $HDLM_COMPAT_MINOR -eq $PRE_HDLM_MINOR ]; then if [ "$CURRENT_HDLM_SPECIAL_S1" = "/" ]; then CURRENT_HDLM_SPECIAL_S1=$CURRENT_HDLM_SPECIAL_S2 CURRENT_HDLM_SPECIAL_S2=0 CURRENT_HDLM_SPECIAL=$CURRENT_HDLM_SPECIAL_S1$CURRENT_HDLM_SPECIAL_S2 HDLM_CURRENT_SPECIAL_FLG=1 fi if [ -z "$CURRENT_HDLM_SPECIAL_S1" ]; then CURRENT_HDLM_SPECIAL_S1=0 CURRENT_HDLM_SPECIAL_S2=0 CURRENT_HDLM_SPECIAL=$CURRENT_HDLM_SPECIAL_S1$CURRENT_HDLM_SPECIAL_S2 fi if [ $PRE_HDLM_SPECIAL_S1 = "/" ]; then PRE_HDLM_SPECIAL_S1=$PRE_HDLM_SPECIAL_S2 PRE_HDLM_SPECIAL_S2=0 PRE_HDLM_SPECIAL=$PRE_HDLM_SPECIAL_S1$PRE_HDLM_SPECIAL_S2 PRE_PATCH_FLG=1 fi ver_judg "$PRE_HDLM_SPECIAL_S1" "$PRE_HDLM_SPECIAL_S2" "$CURRENT_HDLM_SPECIAL_S1" "$CURRENT_HDLM_SPECIAL_S2" HDLM_COMPAT_FLAG=1 else continue fi else continue fi fi fi fi if [ "$PRE_HDLM_VERSION" = "$HDLM_COMPAT_VERSION" ]; then HDLM_COMPAT_FLAG=1 break fi if [ "$PRE_VERSION" -lt "$CURRENT_VERSION" ]; then UPDATE_VER=$UPDATE_SOL89 #05-00 # DRVSOL05900005 if [ "$UPDATE_VER" -le "$PRE_VERSION" ]; then if [ -n "$PRE_HDLM_SPECIAL_S2" ]; then PRE_S2_CHAR=`echo "$PRE_HDLM_SPECIAL_S2" |grep '[0-9]'` #DRVSOL05940007 if [ -n "$PRE_S2_CHAR" ]; then HDLM_COMPAT_FLAG=1 break else echo "" echo "KAPL09029-E This version of HDLM cannot be updated by installation." echo "Uninstall the already installed version of HDLM." echo "" exit 1 fi elif [ -z "$PRE_S2_CHAR" ]; then echo "" echo "KAPL09029-E This version of HDLM cannot be updated by installation." echo "Uninstall the already installed version of HDLM." echo "" exit 1 fi fi fi done fi ### Patch Suppout ### if [ $HDLM_COMPAT_FLAG -ne 1 ]; then if [ "$PRE_VERSION" -eq "$CURRENT_VERSION" ]; then ver_judg "$PRE_HDLM_SPECIAL_S1" "$PRE_HDLM_SPECIAL_S2" "$CURRENT_HDLM_SPECIAL_S1" "$CURRENT_HDLM_SPECIAL_S2" fi fi ### if [ $HDLM_COMPAT_FLAG -ne 1 ]; then echo "" echo "KAPL09029-E This version of HDLM cannot be updated by installation." echo "Uninstall the already installed version of HDLM." echo "" exit 1 fi fi if [ $HDLM_UPDATE_FLAG -eq 1 ]; then HDLM_CLASSES_FLAG=0 PRE_HDLM_CLASSES=`/bin/pkgparam $PKG CLASSES` for PRE_SOLARIS_VERSION in $PRE_HDLM_CLASSES do if [ "$SOLVER" = "5.8" ]; then # DRVSOL05900005 if [ "$PRE_SOLARIS_VERSION" = "S8_Driver" ]; then HDLM_CLASSES_FLAG=1 break fi elif [ "$SOLVER" = "5.9" ]; then if [ "$PRE_SOLARIS_VERSION" = "S9_Driver" ]; then HDLM_CLASSES_FLAG=1 break fi elif [ "$SOLVER" = "5.10" ]; then # DRVSOL05610006 START if [ "$PRE_SOLARIS_VERSION" = "S10_Driver64" ]; then HDLM_CLASSES_FLAG=1 break fi # DRVSOL05610006 END fi done if [ $HDLM_CLASSES_FLAG -ne 1 ]; then echo "" echo "KAPL09030-E The installed version of HDLM is not supported for the present OS version." echo "Uninstall the already installed version of HDLM." echo "" exit 1 fi fi if [ $HDLM_UPDATE_FLAG -eq 1 ]; then PRE_PKG_PP=`/bin/pkgparam $PKG PKG_PP` # DRVSOL05800006 start DRVSOL05800038 if [ -z "$PRE_PKG_PP" ]; then # DRVSOL05800038 PRE_HDLM_NAME=`/bin/pkgparam $PKG NAME` if [ "$PRE_HDLM_NAME" != "$PKG_NAME" ]; then echo "" echo "KAPL09031-E A version of HDLM with a different language environment is already installed." echo "Uninstall the already installed version of HDLM." echo "" exit 1 fi else if [ "$PRE_PKG_PP" != "$PKG_PP" ]; then # DRVSOL05800038 echo "" echo "KAPL09031-E A version of HDLM with a different language environment is already installed." echo "Uninstall the already installed version of HDLM." echo "" exit 1 fi fi # DRVSOL05800006 end fi ################ check free space ############################ #DRVSOL05930007 DF_CHECK=`df -b /opt | egrep ' [0-9]+$'` DISK_EMPTY=`echo $DF_CHECK | cut -f2 -d" "` # DRVSOL05800011 start # DRVSOL05900005 start # size check /opt if [ $HDLM_UPDATE_FLAG -eq 1 ]; then if [ $DISK_EMPTY -lt 272000 ]; then # DRVSOL06000058 echo "KAPL09002-E The disk does not have sufficient free space." exit 1 fi else if [ $DISK_EMPTY -lt 274000 ]; then # DRVSOL06000058 echo "KAPL09002-E The disk does not have sufficient free space." exit 1 fi fi # size check /var 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 100000 ]; then echo "KAPL09002-E The disk does not have sufficient free space." exit 1 fi # DRVSOL05800011 end # DRVSOL05900005 end #### LICENSE #### #Initial value CNT=0 RTN=0 UP_RTN=0 PPID_CNT=0 CMD_DIR=$INST_DATADIR/$PKGINST/reloc/'$PPBASEDIR'/bin ORG_PPIDS="30C 30A 32C 32A" ORG_PPID="" LIC_DIR_UP=$BASEDIR/opt/DynamicLinkManager LIC_DIR_HKEY=$BASEDIR/var/opt/DynamicLinkManager LIC_DIR_LOG=$BASEDIR/var/opt/DynamicLinkManager/log LIC_INFO="" LIC_PPID="" LIC_Y="" LIC_M="" LIC_D="" LIC_CODE="" LIC_FLE_DIR=$BASEDIR/var/tmp LIC_LIC_EXS=0 LIC_JUDG_HKEY=0 LIC_KEY_FILE="/var/tmp/hdlm_license" LIC_KEY_CHK=0 #DRVSOL05040079 LIC_SPT_VER2=0540 #DRVSOL05410009-010 ############################################################### license_judg(){ # $1 RTN case $1 in 0) # display license expires LIC_DATA=`$CMD_DIR/hcmdslicense2 -dir $LIC_DIR_HKEY -logdir $LIC_DIR_LOG -status` LIC_INFO=$? case $LIC_INFO in 0) LIC_PPID=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $1}'` TYPE=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $3}'` EXPIRES=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $7}'` LIC_Y=`echo "$EXPIRES" | cut -c1-4` LIC_M=`echo "$EXPIRES" | cut -c5-6` LIC_D=`echo "$EXPIRES" | cut -c7-8` case $TYPE in P) echo "" echo "KAPL09076-I The permanent license was installed." echo "" ;; T) echo "" echo "KAPL09077-I The temporary license was installed. The license expires on $LIC_Y/$LIC_M/$LIC_D." echo "" ;; E) echo "" echo "KAPL09078-I The emergency license was installed. The license expires on $LIC_Y/$LIC_M/$LIC_D." echo "" return 0 ;; *) echo "" echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" exit 1 ;; esac ;; *) echo "" echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" exit 1 ;; esac ;; 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 ) # display license expires #Serious error #DRVSOL05600014 echo "" echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" exit 1 ;; 9 ) # display license expires #command execution simultaneously #DRVSOL05600014 echo "" #DRVSOL05600014 echo "KAPL09135-E One of the following was executed at the same time as an HDLM command set -lic operation:" #DRVSOL05600014 echo "another set -lic operation, or an update of the license for an update installation." #DRVSOL05600014 echo "" #DRVSOL05600014 exit 1 #DRVSOL05600014 ;; #DRVSOL05600014 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 ) # display license expires #Serious error #DRVSOL05600014 echo "" #DRVSOL05040106 echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL05040106 #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" #DRVSOL05040106 exit 1 #DRVSOL05040106 ;; 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 ) # display license expires #Serious error #DRVSOL05600014 echo "" #DRVSOL05040106 echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL05040106 #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" #DRVSOL05040106 exit 1 #DRVSOL05040106 ;; 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 ) # With no installable license key #DRVSOL05040106 echo "" #DRVSOL05040106 echo "KAPL09113-E There is no installable license key in the license key file. File name = $LIC_KEY_FILE " #DRVSOL05040106 #DRVSOL06100021 echo "Make sure that the license key file is correct, and then re-install HDLM." #DRVSOL06100021 echo "" #DRVSOL05040106 exit 1 ;; 38 | 39 ) # License key injustice #Serious error #DRVSOL05600014 echo "" #DRVSOL05600014 echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL05600014 #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" #DRVSOL05600014 exit 1 #DRVSOL05600014 ;; #DRVSOL05600014 40 ) # display license expires #Serious error echo "" echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL05040077-100 #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" exit 1 ;; 41 | 42 | 43 ) # display license expires #License injustice echo "" echo "KAPL09112-E The license key file is invalid. File name = $LIC_KEY_FILE " #DRVSOL05040093 #DRVSOL06100021 echo "Place the correct license key file in the designated directory (/var/tmp/hdlm_license), " #DRVSOL06100021 echo "in a user-specified directory or with a user-specified file name, and then re-install HDLM." #DRVSOL06100021 echo "" exit 1 ;; 44 ) # display license expires #With no installable license key #DRVSOL05040106 echo "" echo "KAPL09113-E There is no installable license key in the license key file. File name = $LIC_KEY_FILE " #DRVSOL06100021 echo "Make sure that the license key file is correct, and then re-install HDLM." #DRVSOL06100021 echo "" exit 1 ;; *) echo "" echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" exit 1 ;; esac } ## license key judg ## licenseoutput(){ # $1 : $ORG_PPID/$LIC_PPID # $2 : $KEY RTN=0 $CMD_DIR/hcmdslicense2 -update -ppid $1 -key $2 -dir $LIC_DIR_HKEY -logdir $LIC_DIR_LOG RTN=$? if [ $RTN -ge 30 -a $RTN -le 39 ]; then return 1 fi license_judg "$RTN" if [ $? -eq 0 ]; then break fi } ## license key input ## licenseinput(){ # $1 $LIC_PPID # $2 $LIC_LIC_EXS CNT=0 INST_OK=0 while [ $CNT -lt 3 ] do echo 'INPUT LICENSE KEY : \c' #Licensekey input read KEY CHAR_CNT=0 keylen=`echo ${KEY} | wc -m` if [ ${keylen} -eq 1 ]; then if [ $HDLM_UPDATE_FLAG -eq 1 ]; then if [ $LIC_KEY_CHK -eq 0 ]; then #DRVSOL05040079 start echo "" echo "KAPL09090-W This operation will now be continued without updating the license." echo "" break fi #DRVSOL05040079 end fi CHAR_CNT=1 else RESULT="`echo ${KEY} | grep '[^A-Z0-9]'`" result_len=`echo ${RESULT} | wc -m` if [ ${result_len} -gt 1 ]; then CHAR_CNT=1 else echo "" fi fi if [ $CHAR_CNT -eq 0 ]; then if [ $LIC_LIC_EXS -eq 1 ]; then # Update or New licenseoutput "$LIC_PPID" "$KEY" "$PPID_CNT" if [ $? -eq 0 ]; then INST_OK=1 break fi else for ORG_PPID in $ORG_PPIDS do licenseoutput "$ORG_PPID" "$KEY" "$PPID_CNT" if [ $? -eq 0 ]; then INST_OK=1 break fi done fi fi if [ $INST_OK -eq 1 ]; then break fi CNT=`expr $CNT + 1` if [ $CNT -le 2 ]; then echo "" echo "KAPL09086-W The entered license key is invalid." echo "" else if [ $CNT -ge 3 ]; then if [ $HDLM_UPDATE_FLAG -eq 1 ]; then echo "" echo "KAPL09087-E The entered license key is invalid. Renewal of the license key will now stop. Obtain a valid license key, and then re-install HDLM." #DRVSOL06100021 echo "" exit 1 else echo "" echo "KAPL09088-E The entered license key is invalid. The HDLM installation will now terminate. Obtain a valid license key, and then re-install HDLM." #DRVSOL06100021 echo "" exit 1 fi fi fi done } ## license key file ## #$1 $LIC_PPID #$2 $LIC_KEY_FILE or $LIC_FLE_DIR/hdlm_license #DRVSOL05930002 licensekey(){ RTN=0 if [ $LIC_JUDG_HKEY -eq 1 ]; then #Key file existence $CMD_DIR/hcmdslicense2 -update -ppid $1 -file $2 -dir $LIC_DIR_HKEY -logdir $LIC_DIR_LOG #DRVSOL05930002 RTN=$? license_judg "$RTN" if [ $? -eq 0 ]; then break fi else for ORG_PPID in $ORG_PPIDS do $CMD_DIR/hcmdslicense2 -update -ppid $ORG_PPID -file $2 -dir $LIC_DIR_HKEY -logdir $LIC_DIR_LOG #DRVSOL05930002 RTN=$? if [ $RTN -eq 40 -o $RTN -eq 44 ]; then PPID_CNT=`expr $PPID_CNT + 1` if [ $PPID_CNT -ge 4 ]; then if [ $RTN -eq 40 ]; then echo "" echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" exit 1 else echo "" echo "KAPL09113-E There is no installable license key in the license key file. File name = $LIC_KEY_FILE " #DRVSOL06100021 echo "Make sure that the license key file is correct, and then re-install HDLM." #DRVSOL06100021 echo "" exit 1 fi fi continue fi license_judg "$RTN" if [ $? -eq 0 ]; then break fi done fi } ## Enter default Licensekey or free name Licensekey [1/2] ## #DRVSOL05930002 enter_freename_licensekey_use(){ echo "" echo "KAPL09200-I If your license key file is located somewhere else or has a different file name than \"hdlm_license\", enter \"1\"." echo "If you will enter the license key text directly, enter \"2\". [1/2]: \c" read ANSWER echo "" if [ "$ANSWER" = "1" ]; then return 1 elif [ "$ANSWER" = "2" ]; then return 2 else return 3 fi } ## free_name_license support ## #DRVSOL05930002 free_name_license(){ FREENAME_LICENSEKEY_USE_ANSWER_CNT=0 enter_freename_licensekey_use USE_RESULT=$? if [ $USE_RESULT -eq 1 ]; then enter_freename_licensekey_pass elif [ $USE_RESULT -eq 2 ]; then return 2 else while [ $FREENAME_LICENSEKEY_USE_ANSWER_CNT -lt 2 ] do echo "" echo "KAPL09206-W The entered value is invalid. Re-enter [1/2]: \c" read RE_ANSWER echo "" if [ "$RE_ANSWER" = "1" ]; then enter_freename_licensekey_pass break elif [ "$RE_ANSWER" = "2" ]; then return 2 break else FREENAME_LICENSEKEY_USE_ANSWER_CNT=`expr $FREENAME_LICENSEKEY_USE_ANSWER_CNT + 1` fi done if [ $FREENAME_LICENSEKEY_USE_ANSWER_CNT -ge 2 ]; then if [ $HDLM_UPDATE_FLAG -eq 1 ]; then echo "" echo "KAPL09209-E The entered value is invalid. Renewal of the license key will now stop." echo "" exit 1 else echo "" echo "KAPL09095-E The entered value is invalid. The installation has been stopped." echo "" exit 1 fi fi fi } ## Enter freename licensekey of fullpass ## #DRVSOL05930002 enter_freename_licensekey_pass(){ #FLG=1 is empty enter #FLG=2 is Enter of invalid character string #FLG=3 is Non File exist #FLG=4 is empty enter in update install ERROR_JUDGMENT_FLG=0 LICENSEKEY_PASS_CNT=0 while [ $LICENSEKEY_PASS_CNT -lt 3 ] do echo "" echo "KAPL09201-I Enter the absolute path to the license key, including file name : \c " read FREENAME_LICENSEKEY_PASS echo "" FREENAME_LICENSEKEY_PASS_LEN=`echo $FREENAME_LICENSEKEY_PASS | wc -m` if [ $FREENAME_LICENSEKEY_PASS_LEN -eq 1 ]; then if [ $HDLM_UPDATE_FLAG -eq 1 ]; then if [ $LIC_KEY_CHK -eq 0 ]; then echo "" echo "KAPL09090-W This operation will now be continued without updating the license." echo "" ERROR_JUDGMENT_FLG=4 break fi fi if [ $LICENSEKEY_PASS_CNT -lt 2 ]; then echo "" echo "KAPL09202-W The entered absolute path is invalid." echo "" fi LICENSEKEY_PASS_CNT=`expr $LICENSEKEY_PASS_CNT + 1` ERROR_JUDGMENT_FLG=1 else FREENAME_LICENSEKEY_PASS_ERROR_INVALID="`echo $FREENAME_LICENSEKEY_PASS | grep '[^a-zA-Z0-9/!#+-.=@_~]'`" FREENAME_LICENSEKEY_PASS_ERROR_RELATIVE_PATH="`echo $FREENAME_LICENSEKEY_PASS | grep '^/'`" FREENAME_LICENSEKEY_PASS_ERROR_LEN_1=`echo $FREENAME_LICENSEKEY_PASS_ERROR_INVALID | wc -m` FREENAME_LICENSEKEY_PASS_ERROR_LEN_2=`echo $FREENAME_LICENSEKEY_PASS_ERROR_RELATIVE_PATH | wc -m` if [ $FREENAME_LICENSEKEY_PASS_ERROR_LEN_1 -gt 1 -o $FREENAME_LICENSEKEY_PASS_ERROR_LEN_2 -eq 1 ]; then if [ $LICENSEKEY_PASS_CNT -lt 2 ]; then echo "" echo "KAPL09202-W The entered absolute path is invalid." echo "" fi LICENSEKEY_PASS_CNT=`expr $LICENSEKEY_PASS_CNT + 1` ERROR_JUDGMENT_FLG=2 else LIC_KEY_FILE="$FREENAME_LICENSEKEY_PASS" if [ -f "$FREENAME_LICENSEKEY_PASS" -a -r "$FREENAME_LICENSEKEY_PASS" ]; then licensekey "$LIC_PPID" "$LIC_KEY_FILE" break else if [ $LICENSEKEY_PASS_CNT -lt 2 ]; then echo "" echo "KAPL09203-W There is no license key file. File name = $LIC_KEY_FILE " echo "" fi LICENSEKEY_PASS_CNT=`expr $LICENSEKEY_PASS_CNT + 1` ERROR_JUDGMENT_FLG=3 fi fi fi done if [ $LICENSEKEY_PASS_CNT -ge 3 ]; then if [ $ERROR_JUDGMENT_FLG -eq 1 -o $ERROR_JUDGMENT_FLG -eq 2 ]; then if [ $HDLM_UPDATE_FLAG -eq 1 ]; then echo "" echo "KAPL09207-E The entered absolute path is invalid. Renewal of the license key will now stop." echo "" exit 1 else echo "" echo "KAPL09204-E The entered absolute path is invalid. The HDLM installation will now terminate." echo "" exit 1 fi elif [ $ERROR_JUDGMENT_FLG -eq 3 ]; then if [ $HDLM_UPDATE_FLAG -eq 1 ]; then echo "" echo "KAPL09208-E There is no license key file. Renewal of the license key will now stop. File name = $LIC_KEY_FILE " echo "" exit 1 else echo "" echo "KAPL09205-E There is no license key file. The HDLM installation will now terminate. File name = $LIC_KEY_FILE " echo "" exit 1 fi fi fi } ### Update Install ### # if [ ! -d $BASEDIR/var/opt/DynamicLinkManager ]; then #.hckey2 mkdir $BASEDIR/var/opt/DynamicLinkManager fi if [ ! -d $BASEDIR/var/opt/DynamicLinkManager/log ]; then #hcmdlicense2.log mkdir $BASEDIR/var/opt/DynamicLinkManager/log fi if [ -f $BASEDIR/opt/DynamicLinkManager/.hckey2 ]; then #DRVSOL05040053 if [ "$PRE_VERSION" -lt "$LIC_SPT_VER2" ]; then #DRVSOL05410009 rm $BASEDIR/opt/DynamicLinkManager/.hckey2 #DRVSOL05040053 fi #DRVSOL05040053 fi #DRVSOL05040053 if [ -f $LIC_DIR_HKEY/.hckey2 ];then #DRVSOL05040088 rm $LIC_DIR_HKEY/.hckey2 #DRVSOL05040088 fi #DRVSOL05040088 if [ $HDLM_UPDATE_FLAG -eq 1 ]; then # Update or New if [ ! -f $LIC_DIR_UP/.hckey2 ]; then # The existence of the file. if [ "$PRE_VERSION" -ge "$CURRENT_VERSION" -o "$PRE_VERSION" -ge "$LIC_SPT_VER2" ]; then #DRVSOL05040104,DRVSOL05410010 echo "" #DRVSOL05040104 echo "KAPL09089-W License information cannot be acquired." #DRVSOL05040103-104 echo "" #DRVSOL05040104 fi #DRVSOL05040104 LIC_KEY_CHK=1 #DRVSOL05040079 fi LIC_DATA=`$CMD_DIR/hcmdslicense2 -dir $LIC_DIR_UP -logdir $LIC_DIR_LOG -status` UP_RTN=$? case $UP_RTN in 0) #A license is being installed. LIC_PPID=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $1}'` TYPE=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $3}'` EXPIRES=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $7}'` LIC_Y=`echo "$EXPIRES" | cut -c1-4` LIC_M=`echo "$EXPIRES" | cut -c5-6` LIC_D=`echo "$EXPIRES" | cut -c7-8` case $TYPE in P) echo "" echo "KAPL09079-I The permanent license has been installed." echo "" ;; T) echo "" echo "KAPL09080-I The temporary license has been installed. The license expires on $LIC_Y/$LIC_M/$LIC_D." echo "" ;; E) echo "" echo "KAPL09081-I The emergency license has been installed. The license expires on $LIC_Y/$LIC_M/$LIC_D." echo "" ;; *) echo "" echo "KAPL09091-E A fatal error occurred in HDLM. The system environment is invalid." #DRVSOL06100021 echo "Contact your HDLM vendor or the maintenance company if there is a maintenance contract of HDLM." #DRVSOL06100021 echo "" exit 1 ;; esac ;; 10) #temporary license is cut off. echo "" echo "KAPL09082-W The temporary license expired." echo "" LIC_PPID=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $1}'` if [ -f $LIC_DIR_UP/.hckey2 ]; then cp -p $LIC_DIR_UP/.hckey2 $LIC_DIR_HKEY/.hckey2 fi if [ -f $LIC_FLE_DIR/hdlm_license ]; then LIC_JUDG_HKEY=1 licensekey "$LIC_PPID" "$LIC_FLE_DIR/hdlm_license" #DRVSOL05930002 #Licensekey if [ $? -eq 0 ]; then break fi else echo "" echo "KAPL09114-I There is no license key file. File name = $LIC_KEY_FILE " #DRVSOL05040101 echo "" ## SILENT_INSTALL ## #DRVSOL06000026 ls /var/tmp/flg_file_silent_install > /dev/null 2>&1 #DRVSOL06000026 RTN=$? #DRVSOL06000026 if [ "${RTN}" -eq 0 ]; then #DRVSOL06000026 if [ $HDLM_UPDATE_FLAG -eq 1 ]; then #DRVSOL06000026 if [ $LIC_KEY_CHK -eq 0 ]; then #DRVSOL06000026 echo "" #DRVSOL06000026 echo "KAPL09090-W This operation will now be continued without updating the license." #DRVSOL06000026 echo "" #DRVSOL06000026 fi #DRVSOL06000026 fi #DRVSOL06000026 else free_name_license #DRVSOL05930002 FREE_NAME_LICENSE_RESULT=$? #DRVSOL05930002 if [ $FREE_NAME_LICENSE_RESULT -eq 2 ]; then #DRVSOL05930002 LIC_PPID=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $1}'` LIC_LIC_EXS=1 #Those with a key file licenseinput "$LIC_PPID" "$LIC_LIC_EXS" #Input License-key fi #DRVSOL05930002 fi #DRVSOL06000026 fi ;; 11) #emergency license is cut off. echo "" echo "KAPL09083-W The emergency license expired." echo "" LIC_PPID=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $1}'` if [ -f $LIC_DIR_UP/.hckey2 ]; then cp -p $LIC_DIR_UP/.hckey2 $LIC_DIR_HKEY/.hckey2 fi if [ -f "$LIC_FLE_DIR/hdlm_license" ]; then LIC_JUDG_HKEY=1 #Those with a key file licensekey "$LIC_PPID" "$LIC_FLE_DIR/hdlm_license" #DRVSOL05930002 #Licensekey if [ $? -eq 0 ]; then break fi else echo "" echo "KAPL09114-I There is no license key file. File name = $LIC_KEY_FILE " #DRVSOL05040101 echo "" ## SILENT_INSTALL ## #DRVSOL06000026 ls /var/tmp/flg_file_silent_install > /dev/null 2>&1 #DRVSOL06000026 RTN=$? #DRVSOL06000026 if [ "${RTN}" -eq 0 ]; then #DRVSOL06000026 if [ $HDLM_UPDATE_FLAG -eq 1 ]; then #DRVSOL06000026 if [ $LIC_KEY_CHK -eq 0 ]; then #DRVSOL06000026 echo "" #DRVSOL06000026 echo "KAPL09090-W This operation will now be continued without updating the license." #DRVSOL06000026 echo "" #DRVSOL06000026 fi #DRVSOL06000026 fi #DRVSOL06000026 else free_name_license #DRVSOL05930002 FREE_NAME_LICENSE_RESULT=$? #DRVSOL05930002 if [ $FREE_NAME_LICENSE_RESULT -eq 2 ]; then #DRVSOL05930002 LIC_PPID=`echo $LIC_DATA |awk 'BEGIN { FS = ","} {print $1}'` LIC_LIC_EXS=1 licenseinput "$LIC_PPID" "$LIC_LIC_EXS" #Input License-key fi #DRVSOL05930002 fi #DRVSOL06000026 fi ;; *) if [ -f "$LIC_FLE_DIR/hdlm_license" ]; then licensekey "$LIC_PPID" "$LIC_FLE_DIR/hdlm_license" #DRVSOL05930002 #Licensekey if [ $? -eq 0 ]; then break fi else echo "" echo "KAPL09114-I There is no license key file. File name = $LIC_KEY_FILE " #DRVSOL05040101 echo "" ## SILENT_INSTALL ## #DRVSOL06000026 ls /var/tmp/flg_file_silent_install > /dev/null 2>&1 #DRVSOL06000026 RTN=$? #DRVSOL06000026 if [ "${RTN}" -eq 0 ]; then #DRVSOL06000026 if [ $HDLM_UPDATE_FLAG -eq 1 ]; then #DRVSOL06000026 if [ $LIC_KEY_CHK -eq 0 ]; then #DRVSOL06000026 echo "" #DRVSOL06000026 echo "KAPL09090-W This operation will now be continued without updating the license." #DRVSOL06000026 echo "" #DRVSOL06000026 fi #DRVSOL06000026 fi #DRVSOL06000026 else #DRVSOL06000026 free_name_license #DRVSOL05930002 FREE_NAME_LICENSE_RESULT=$? #DRVSOL05930002 if [ $FREE_NAME_LICENSE_RESULT -eq 2 ]; then #DRVSOL05930002 licenseinput "$LIC_PPID" "$LIC_LIC_EXS" #Input License-key fi #DRVSOL05930002 fi #DRVSOL06000026 fi ;; esac else if [ -f "$LIC_FLE_DIR/hdlm_license" ]; then licensekey "$LIC_PPID" "$LIC_FLE_DIR/hdlm_license" #DRVSOL05930002 #Licensekey if [ $? -eq 0 ]; then break fi else echo "" echo "KAPL09114-I There is no license key file. File name = $LIC_KEY_FILE " #DRVSOL05040101 echo "" free_name_license #DRVSOL05930002 FREE_NAME_LICENSE_RESULT=$? #DRVSOL05930002 if [ $FREE_NAME_LICENSE_RESULT -eq 2 ]; then #DRVSOL05930002 licenseinput "$LIC_PPID" "$LIC_LIC_EXS" #Input License-key fi #DRVSOL05930002 fi fi chown root $BASEDIR/var/opt/DynamicLinkManager/log > /dev/null 2> /dev/null #DRVSOL05040045 #DRVSOL06000060 chgrp sys $BASEDIR/var/opt/DynamicLinkManager/log > /dev/null 2> /dev/null #DRVSOL05040045 #DRVSOL06000060 chmod 700 $BASEDIR/var/opt/DynamicLinkManager/log > /dev/null 2> /dev/null #DRVSOL05040045 #DRVSOL06000060 chown -R root $LIC_DIR_HKEY/.hckey2 > /dev/null 2> /dev/null #DRVSOL05040039 chgrp -R sys $LIC_DIR_HKEY/.hckey2 > /dev/null 2> /dev/null #DRVSOL05040039 chmod -R 600 $LIC_DIR_HKEY/.hckey2 > /dev/null 2> /dev/null #DRVSOL05040039 chown -R root $LIC_DIR_LOG/hcmdslicense2.log > /dev/null 2> /dev/null #DRVSOL05040053 chgrp -R sys $LIC_DIR_LOG/hcmdslicense2.log > /dev/null 2> /dev/null #DRVSOL05040053 chmod -R 600 $LIC_DIR_LOG/hcmdslicense2.log > /dev/null 2> /dev/null #DRVSOL05040053 ######## ########### check file existence ############### #DRVSOL05930007 DLMFDRV_CONF_EXIST=0 DLMNDRV_CONF_EXIST=0 DLMMGR_CONF_EXIST=0 DLMGUI_CONF_EXIST=0 DLMAUD_CONF_EXIST=0 # DRVSOL05940054 if [ $HDLM_UPDATE_FLAG -eq 1 ]; then if [ -f "$BASEDIR/kernel/drv/dlmfdrv.conf" ]; then DLMFDRV_CONF_EXIST=1 fi if [ -f "$BASEDIR/kernel/drv/dlmndrv.conf" ]; then DLMNDRV_CONF_EXIST=1 fi if [ -f "$BASEDIR/opt/DynamicLinkManager/config/dlmmgr.xml" ]; then DLMMGR_CONF_EXIST=1 fi if [ -f "$BASEDIR/opt/DynamicLinkManager/config/dlmwebagent.properties" ]; then DLMGUI_CONF_EXIST=1 fi if [ -f "$BASEDIR/opt/DynamicLinkManager/config/auditlog.dat" ]; then # DRVSOL05940054 DLMAUD_CONF_EXIST=1 # DRVSOL05940054 fi # DRVSOL05940054 fi if [ $VERSIONFLG -eq 3 -o $VERSIONFLG -eq 4 -o $VERSIONFLG -eq 5 ]; then # 3=Sol8,4=Sol9,5=Sol10 DRVSOL05610006 # DRVSOL05900005 res64=`isainfo -vk | grep 64` fi case "$VERSIONFLG" in 3) if [ -n "$res64" ]; then CLASSES="PPbase PPbase8 sed ETCFILES8 LinkGen8 S8_Driver S8_Driver64 dlmaconf8 JRE_USER" #DRVSOL05800003 else CLASSES="PPbase PPbase8 sed ETCFILES8 LinkGen8 S8_Driver dlmaconf8 JRE_USER" #DRVSOL05800003 fi if [ $HDLM_UPDATE_FLAG -eq 0 ]; then CLASSES="$CLASSES dlmfconf8 Config dlmnconf8 PPbaseGUI AudConf" # DRVSOL05940054 else # add non-existing conf files # DRVSOL05930007 if [ $DLMFDRV_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES dlmfconf8" fi if [ $DLMNDRV_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES dlmnconf8" fi if [ $DLMMGR_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES Config" fi if [ $DLMGUI_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES PPbaseGUI" fi if [ $DLMAUD_CONF_EXIST -eq 0 ]; then # DRVSOL05940054 CLASSES="$CLASSES AudConf" # DRVSOL05940054 fi # DRVSOL05940054 fi ;; 4) if [ -n "$res64" ]; then CLASSES="PPbase PPbase9 sed ETCFILES9 LinkGen9 S9_Driver S9_Driver64 dlmaconf8 JRE_USER" #DRVSOL05800003 else CLASSES="PPbase PPbase9 sed ETCFILES9 LinkGen9 S9_Driver dlmaconf8 JRE_USER" #DRVSOL05800003 fi if [ $HDLM_UPDATE_FLAG -eq 0 ]; then CLASSES="$CLASSES dlmfconf8 Config dlmnconf8 PPbaseGUI AudConf" # DRVSOL05940054 else # add non-existing conf files # DRVSOL05930007 if [ $DLMFDRV_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES dlmfconf8" fi if [ $DLMNDRV_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES dlmnconf8" fi if [ $DLMMGR_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES Config" fi if [ $DLMGUI_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES PPbaseGUI" fi if [ $DLMAUD_CONF_EXIST -eq 0 ]; then # DRVSOL05940054 CLASSES="$CLASSES AudConf" # DRVSOL05940054 fi # DRVSOL05940054 fi ;; 5) # DRVSOL05610006 START CLASSES="PPbase PPbase10 sed ETCFILES10 LinkGen10 S10_Driver64 dlmaconf10 S10_SMF" # DRVSOL05610009 DRVSOL0561SA0013 if [ $HDLM_UPDATE_FLAG -eq 0 ]; then CLASSES="$CLASSES dlmfconf8 Config dlmnconf8 PPbaseGUI AudConf" # DRVSOL05940054 else # add non-existing conf files # DRVSOL05930007 if [ $DLMFDRV_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES dlmfconf8" fi if [ $DLMNDRV_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES dlmnconf8" fi if [ $DLMMGR_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES Config" fi if [ $DLMGUI_CONF_EXIST -eq 0 ]; then CLASSES="$CLASSES PPbaseGUI" fi if [ $DLMAUD_CONF_EXIST -eq 0 ]; then # DRVSOL05940054 CLASSES="$CLASSES AudConf" # DRVSOL05940054 fi # DRVSOL05940054 fi ;; # DRVSOL05610006 END esac LANG_JP=`env | grep LANG | grep ja$` if [ -n "$LANG_JP" ]; then CLASSES="$CLASSES ETCLANGJ" else CLASSES="$CLASSES ETCLANGC" fi if [ $HDLM_UPDATE_FLAG -eq 1 ]; then HDLM_UPDATE="yes" else HDLM_UPDATE="no" fi cat > $1 <