# /* # * << postinstall >> # * All Rights Reserved. Copyright (C) 2001, 2008, Hitachi, Ltd. # */ DWNLOAD_DIR=/var/tmp/DLMManager__temp #DRVSOL05040096 # DRVSOL05900005 SOLVERSION8=`uname -r | grep 5.8` SOLVERSION9=`uname -r | grep 5.9` SOLVERSION10=`uname -r | grep 5.10` # DRVSOL05610006 #PP_NAME="Hitachi Dynamic Link Manager" PP_NAME="DynamicLinkManager" # DRVSOL05800007 INST_SCRIPTNUM=300 # DRVSOL06000014 HBSA_ERRCNT=0 # DRVSOL06000014 HBSA_ERRNUM=0 # DRVSOL06000014 HBSA_ERRFLG=0 # DRVSOL06000014 if [ -d $DWNLOAD_DIR ]; then #DRVSOL05040096 /usr/bin/rm -fr $DWNLOAD_DIR #DRVSOL05040096,DRVSOL05800007 fi #DRVSOL05040096 mkdir $DWNLOAD_DIR cd $DWNLOAD_DIR tar -xpf $INST_DATADIR/$PKGINST/install/D002.tar D002setup > /dev/null 2> /dev/null if [ ! -x D002setup ] then exit 1 fi ./D002setup $INST_DATADIR/$PKGINST/install/D002.tar > /dev/null 2> /dev/null if [ $? != 0 ] then exit 1 fi rm -f D002setup > /dev/null 2> /dev/null /opt/hitachi/HNTRLib2/etc/hntr2regist "Hitachi Dynamic Link Manager" if [ $? = 255 ] then echo "" echo "KAPL09021-E An attempt to register the bundle PP name of Hitachi Network Objectplaza Trace Library 2 failed." echo "" exit 1 fi if [ -x /opt/hitachi/HNTRLib2/etc/hntr2setup ] then /opt/hitachi/HNTRLib2/etc/hntr2setup 1 > /dev/null 2> /dev/null fi if [ -x /opt/hitachi/HNTRLib2/bin/hntr2mon ] then /opt/hitachi/HNTRLib2/bin/hntr2mon -d & > /dev/null 2> /dev/null fi if [ -f /etc/rc2.d/S20DLMManager ] then rm -f /etc/rc2.d/S20DLMManager fi if [ -z "$SOLVERSION10" ] then ln -f /etc/init.d/DLMManager /etc/rc2.d/S20DLMManager fi if [ -f /etc/init.d/dlmmanager ] #DRVSOL05040020 then #DRVSOL05040020 rm -f /etc/init.d/dlmmanager #DRVSOL05040020 fi #DRVSOL05040020 ln -f /etc/init.d/DLMManager /etc/init.d/dlmmanager #DRVSOL05040020 if [ -f /etc/rc0.d/K02DLMManager ] #DRVSOL05040020 then #DRVSOL05040020 rm -f /etc/rc0.d/K02DLMManager #DRVSOL05040020 fi #DRVSOL05040020 if [ -z "$SOLVERSION10" ] then ln -f /etc/init.d/DLMManager /etc/rc0.d/K02DLMManager #DRVSOL05040020 fi if [ -f $BASEDIR/etc/rcS.d/S61hdlmload ] then rm -f $BASEDIR/etc/rcS.d/S61hdlmload fi if [ -f $BASEDIR/etc/rcS.d/S55hdlmload ] then rm -f $BASEDIR/etc/rcS.d/S55hdlmload fi if [ -n "$SOLVERSION8" -o -n "$SOLVERSION9" ] # DRVSOL05610007 # DRVSOL05900005 then # DRVSOL05610007 ln -f /etc/init.d/hdlmload /etc/rcS.d/S55hdlmload # DRVSOL05610007 fi # DRVSOL05610007 if [ -f $BASEDIR/etc/rc2.d/S20DLMInitpath ] then rm -f $BASEDIR/etc/rc2.d/S20DLMInitpath fi if [ -z "$SOLVERSION10" ] # DRVSOL05800019 then # DRVSOL05800019 ln -f $BASEDIR/etc/init.d/DLMInitpath $BASEDIR/etc/rc2.d/S20DLMInitpath fi # DRVSOL05800019 if [ -n "$SOLVERSION10" ] # DRVSOL05800033 then # DRVSOL05800033 if [ -f $BASEDIR/etc/init.d/DLMInitpath ] # DRVSOL05800033 then # DRVSOL05800033 removef $PKGINST $BASEDIR/etc/init.d/DLMInitpath # DRVSOL05800033 rm -f $BASEDIR/etc/init.d/DLMInitpath # DRVSOL05800033 removef -f $PKGINST # DRVSOL05800033 fi # DRVSOL05800033 fi # DRVSOL05800033 if [ -f $BASEDIR/etc/rc2.d/S76hdlmonlinepath ] then rm -f $BASEDIR/etc/rc2.d/S76hdlmonlinepath fi if [ -n "$SOLVERSION8" -o -n "$SOLVERSION9" ] # DRVSOL05610006 DRVSOL05610025 then ln -f $BASEDIR/etc/init.d/hdlmonlinepath $BASEDIR/etc/rc2.d/S76hdlmonlinepath fi if [ -n "$SOLVERSION10" ] # DRVSOL05800033 then # DRVSOL05800033 if [ -f $BASEDIR/etc/init.d/hdlmonlinepath ] # DRVSOL05800033 then # DRVSOL05800033 removef $PKGINST $BASEDIR/etc/init.d/hdlmonlinepath # DRVSOL05800033 rm -f $BASEDIR/etc/init.d/hdlmonlinepath # DRVSOL05800033 removef -f $PKGINST # DRVSOL05800033 fi # DRVSOL05800033 fi # DRVSOL05800033 if [ -f $BASEDIR/opt/DynamicLinkManager/bin/hdlmgui ] #DRVSOL05040018 then #DRVSOL05040018 rm -f $BASEDIR/opt/DynamicLinkManager/bin/hdlmgui #DRVSOL05040018 fi #DRVSOL05040018 if [ -f $BASEDIR/opt/DynamicLinkManager/bin/HDLM_GUI ] #DRVSOL06000057 then #DRVSOL06000057 rm -f $BASEDIR/opt/DynamicLinkManager/bin/HDLM_GUI #DRVSOL06000057 fi #DRVSOL06000057 if [ -f $BASEDIR/opt/DynamicLinkManager/bin/dlmglcl ] #DRVSOL06000037 then #DRVSOL06000037 rm -f $BASEDIR/opt/DynamicLinkManager/bin/dlmglcl #DRVSOL06000037 fi #DRVSOL06000037 ln -f $BASEDIR/opt/DynamicLinkManager/bin/DLMGLCL $BASEDIR/opt/DynamicLinkManager/bin/dlmglcl #DRVSOL05040018 #DRVSOL06000037 if [ -f $BASEDIR/opt/DynamicLinkManager/bin/dlmgetras ] #DRVSOL05040020 then #DRVSOL05040020 rm -f $BASEDIR/opt/DynamicLinkManager/bin/dlmgetras #DRVSOL05040020 fi #DRVSOL05040020 ln -f $BASEDIR/opt/DynamicLinkManager/bin/DLMgetras $BASEDIR/opt/DynamicLinkManager/bin/dlmgetras #DRVSOL05040020 if [ "$HDLM_UPDATE" = "yes" ]; then rm -rf $BASEDIR/opt/DynamicLinkManager/help fi # DRVSOL05900006 Delete help setup if [ -z "$SOLVERSION10" ] then cd $BASEDIR/opt/DynamicLinkManager/jre cp -p $INST_DATADIR/$PKGINST/install/jre.tar . tar xvf jre.tar rm jre.tar fi # DRVSOL05900005 start sed ' ${ /dlm[af]drv/!p a\ type=ddi_pseudo;name=dlmadrv dlm/rdsk/rdlmadrv\\A1\ type=ddi_pseudo;name=dlmfdrv;minor=admin dlm/rdsk/dlmfdrv0 d q } /dlmfdrv/d /dlmadrv/d ' /etc/devlink.tab > /etc/HDLM_devlink.tab_$$ SED_STATUS=$? # DRVSOL05900005 end if [ $SED_STATUS -eq 0 ] then cp -f /etc/devlink.tab /etc/devlink.tab.sav__$$ if [ $? -ne 0 ] then exit 1 fi mv -f /etc/HDLM_devlink.tab_$$ /etc/devlink.tab if [ $? -ne 0 ] then mv -f /etc/devlink.tab.sav__$$ /etc/devlink.tab fi rm -f /etc/devlink.tab.sav__$$ fi rm -f /etc/HDLM_devlink.tab_$$ add_drv -m '* 0600 root sys' dlmadrv > /dev/null 2> /dev/null #DRVSOL05600018 add_drv -m '* 0600 root sys' dlmndrv > /dev/null 2> /dev/null #DRVSOL05600018 add_drv -m '* 0640 root sys' dlmfdrv > /dev/null 2> /dev/null #DRVSOL05600018 if [ -f $BASEDIR/var/opt/DynamicLinkManager/.hckey2 ]; then #DRVSOL05040039 mv /var/opt/DynamicLinkManager/.hckey2 $BASEDIR/opt/DynamicLinkManager/. #DRVSOL05040039 fi #DRVSOL05040039 if [ -f $BASEDIR/var/tmp/hdlm_license ]; then #DRVSOL05040039 rm $BASEDIR/var/tmp/hdlm_license #DRVSOL05040039 fi #DRVSOL05040039 if [ -f $BASEDIR/opt/DynamicLinkManager/.hckey ]; then #DRVSOL05040039 rm $BASEDIR/opt/DynamicLinkManager/.hckey #DRVSOL05040039 fi #DRVSOL05040039 if [ -f $BASEDIR/opt/DynamicLinkManager/bin/hcmdslicense ]; then #DRVSOL05040053 rm $BASEDIR/opt/DynamicLinkManager/bin/hcmdslicense #DRVSOL05040053 fi #DRVSOL05040053 if [ -f $BASEDIR/var/opt/DynamicLinkManager/log/hcmdslicense.log ]; then #DRVSOL05040053 rm $BASEDIR/var/opt/DynamicLinkManager/log/hcmdslicense.log #DRVSOL05040053 fi #DRVSOL05040053 if [ -n "$SOLVERSION10" ] # DRVSOL05610048 then # DRVSOL05610009 HDLMLOAD_SVC="system/device/hdlmload:$BASEDIR/var/svc/manifest/system/device/devices-hdlmload.xml" HDLMMANAGER_SVC="system/hdlm-manager:$BASEDIR/var/svc/manifest/system/hdlm-manager.xml" HDLMINITPATH_SVC="system/hdlm-initpath:$BASEDIR/var/svc/manifest/system/hdlm-initpath.xml" # DRVSOL05800019 HDLMONLINEPATH_SVC="system/hdlm-onlinepath:$BASEDIR/var/svc/manifest/system/hdlm-onlinepath.xml" # DRVSOL05800019 HDLMALL_SVC="${HDLMLOAD_SVC} ${HDLMMANAGER_SVC} ${HDLMINITPATH_SVC} ${HDLMONLINEPATH_SVC}" # DRVSOL05800019 # disable manager invokation DRVSOL05800024 HDLM_MANAGER_DISABLE_FILE=$BASEDIR/var/opt/DynamicLinkManager/log/.disablemanager echo "" > $HDLM_MANAGER_DISABLE_FILE for HDLM_SVC in `echo ${HDLMALL_SVC}` do HDLM_FMRI=`echo ${HDLM_SVC} | awk -F":" '{print $1}'` HDLM_MANIFEST=`echo ${HDLM_SVC} | awk -F":" '{print $2}'` # delete the old version's SMF service from repositry (Sun BugID #6299709) svcs ${HDLM_FMRI} > /dev/null 2>&1 if [ $? -eq 0 ] then svccfg delete -f ${HDLM_FMRI} fi # delete one of duoble slash(//var...) DRVSOL05940065 if [ -n "$BASEDIR" ] # DRVSOL05940065 then # DRVSOL05940065 if [ "$BASEDIR" = "/" ] # DRVSOL05940065 then # DRVSOL05940065 HDLM_MANIFEST=`echo ${HDLM_MANIFEST} | awk '{l = length($1); print substr($1,2,l-1)}'` # DRVSOL05940065 fi # DRVSOL05940065 fi # DRVSOL05940065 # import the new version's SMF service svccfg import ${HDLM_MANIFEST} # Refresh the dependent SMF services for Sun BugID #6221374 SERVICE_FMRI=`cat ${HDLM_MANIFEST} | grep ""` if [ -n "${SERVICE_FMRI}" ] then SVCFMRIS=`echo ${SERVICE_FMRI} | \ sed -e "s///g` for SVCFMRI in `echo ${SVCFMRIS}` do FMRI=`echo ${SVCFMRI} | \ sed -e "s/value='svc:\///g"` if [ -n "${FMRI}" ] then svcadm refresh ${FMRI} > /dev/null 2>&1 fi done fi done # disable manager temporarily DRVSOL05800024 DRVSOL05800036 svcadm disable -st system/hdlm-manager > /dev/null 2>&1 # DRVSOL05800043 svcadm disable -st system/hdlm-initpath > /dev/null 2>&1 # DRVSOL05800043 svcadm disable -st system/hdlm-onlinepath > /dev/null 2>&1 # DRVSOL05800043 rm -f $HDLM_MANAGER_DISABLE_FILE > /dev/null 2>&1 fi # DRVSOL05610048 #DRVSOL0580SA0004 START if [ "$HDLM_UPDATE" = "yes" ]; then if [ -n "$SOLVERSION8" -o -n "$SOLVERSION9" -o -n "$SOLVERSION10" ]; then DLMCONFDIR=$BASEDIR/kernel/drv DLMUNCONFDIR=$BASEDIR/opt/DynamicLinkManager/config DLMCONFLDEVXP="LDEV=\"XP\." DLMUNCONFLDEVXP="LDEV=XP\." DLMCONFLDEVSVS="LDEV=\"SVS\." DLMUNCONFLDEVSVS="LDEV=SVS\." DLMLDEVXPHEADER="^\(##################[ \t]\)\(T[0-9]*[ \t]\)\(D[0-9]*(\)\(XP\.\)" LDEVXPFILES="dlmfdrv.conf dlmfdrv.unconf dlmfdrv.conf.bak dlmfdrv.unconf.bak" for LDEVXPFILE in `echo ${LDEVXPFILES}` do # Setting of parameter of target file. if [ ${LDEVXPFILE} = "dlmfdrv.conf" -o ${LDEVXPFILE} = "dlmfdrv.conf.bak" ]; then LDEVXPCONVPATH=${DLMCONFDIR}/${LDEVXPFILE} LDEVXPCONVKEY=${DLMCONFLDEVXP} LDEVXPCONVVAL=${DLMCONFLDEVSVS} else LDEVXPCONVPATH=${DLMUNCONFDIR}/${LDEVXPFILE} LDEVXPCONVKEY=${DLMUNCONFLDEVXP} LDEVXPCONVVAL=${DLMUNCONFLDEVSVS} fi if [ -f $LDEVXPCONVPATH ]; then # Conversion processing of `LDEV` value. LDEVXPMATCH=`/bin/cat ${LDEVXPCONVPATH} | grep -l ${LDEVXPCONVKEY}` if [ -n "${LDEVXPMATCH}" ]; then LDEVXPTEMP=${LDEVXPCONVPATH}_$$ sed -e "s/${DLMLDEVXPHEADER}/\1\2\3SVS\./g" -e "s/${LDEVXPCONVKEY}/${LDEVXPCONVVAL}/g" ${LDEVXPCONVPATH} > ${LDEVXPTEMP} SED_STATUS=$? # When the conversion processing ends normally. if [ $SED_STATUS -eq 0 ]; then # The backup of an existing file is taken. cp -p ${LDEVXPCONVPATH} ${LDEVXPCONVPATH}_oldbackup CMD_RTN=$? if [ $CMD_RTN -eq 0 ]; then # If this processing ends without trouble, it is a conversion end. cp ${LDEVXPTEMP} ${LDEVXPCONVPATH} CMD_RTN=$? if [ $CMD_RTN -ne 0 ]; then # The conversion processing is stopped and it replaces it with an existing file. mv -f ${LDEVXPCONVPATH}_oldbackup ${LDEVXPCONVPATH} CMD_RTN2=$? if [ $CMD_RTN2 -ne 0 ]; then echo "KAPL09149-E An attempt to update the file has failed. File name = $LDEVXPCONVPATH, Details = 4, $CMD_RTN2. Please contact product support." # DRVSOL05940048 echo "" else echo "KAPL09148-W Could not modify file. File name = $LDEVXPCONVPATH, Details = 3, $CMD_RTN. Please contact product support." # DRVSOL05940048 echo "" fi fi if [ -f ${LDEVXPTEMP} ]; then rm -f ${LDEVXPTEMP} > /dev/null 2>&1 fi else # The system environment is invalid. echo "KAPL09148-W Could not modify file. File name = $LDEVXPCONVPATH, Details = 2, $CMD_RTN. Please contact product support." # DRVSOL05940048 echo "" if [ -f ${LDEVXPTEMP} ]; then rm -f ${LDEVXPTEMP} > /dev/null 2>&1 fi fi else # When the conversion processing fails. echo "KAPL09148-W Could not modify file. File name = $LDEVXPCONVPATH, Details = 1, $SED_STATUS. Please contact product support." # DRVSOL05940048 echo "" if [ -f ${LDEVXPTEMP} ]; then rm -f ${LDEVXPTEMP} > /dev/null 2>&1 fi fi fi fi done fi fi #DRVSOL0580SA0004 END cd $INST_DATADIR/$PKGINST/install rm -fr $DWNLOAD_DIR #DRVSOL06000014 START ### dlminstcomp call INSCMP=$BASEDIR/opt/DynamicLinkManager/bin/dlminstcomp INSCMP_RTN=0 if [ -x $INSCMP ]; then HDLMBASEDIR=$BASEDIR export HDLMBASEDIR sh $INSCMP > /dev/null 2> /dev/null INSCMP_RTN=$? if [ $INSCMP_RTN -ne 0 ]; then HBSA_ERRFLG=1 fi else HBSA_ERRCNT=1 HBSA_ERRNUM=`expr $INST_SCRIPTNUM + $HBSA_ERRCNT` # HBSA_ERRNUM=301 echo "" echo "KAPL09171-E An internal error occurred in the installation of the HDLM. Error Code = $HBSA_ERRNUM, -1" exit 1 fi #DRVSOL06000014 END #DRVSOL05600001 START HDLMVER=$BASEDIR/opt/DynamicLinkManager/.hdlmversion HDLMSER=$BASEDIR/opt/DynamicLinkManager/.hdlmservicepack if [ "$HDLM_PATCH_VER" = "0" ] #DRVSOL05600024 then HDLM_FILE=$HDLMVER if [ -f $HDLMSER ] then rm -f $HDLMSER fi else HDLM_FILE=$HDLMSER fi (echo $VIEW_SYS_FORMAT > $HDLM_FILE) > /dev/null 2>&1 #DRVSOL06000015 if [ $? -eq 0 ] then chmod 400 $HDLM_FILE > /dev/null 2>&1 chown root $HDLM_FILE > /dev/null 2>&1 chgrp sys $HDLM_FILE > /dev/null 2>&1 else echo "" echo "KAPL09137-W An internal error occurred when the system information was set. Please contact product support." # DRVSOL05940048 #DRVSOL05600025 fi #DRVSOL05600001 END ### install history ### VER_HIS=/var/opt/DynamicLinkManager/log date >> $VER_HIS/.dlmverhist.log egrep 'NAME|VERSION|PSTAMP' $INST_DATADIR/$PKGINST/pkginfo >> $VER_HIS/.dlmverhist.log echo "##############################################">> $VER_HIS/.dlmverhist.log chmod -R 600 $VER_HIS/.dlmverhist.log > /dev/null 2> /dev/null chown -R root $VER_HIS/.dlmverhist.log > /dev/null 2> /dev/null chgrp -R sys $VER_HIS/.dlmverhist.log > /dev/null 2> /dev/null if [ $HBSA_ERRFLG -eq 1 ]; then # DRVSOL06000014 echo "" # DRVSOL06000014 echo "KAPL09241-W An attempt to install an HDLM component failed. Error Code = $INSCMP_RTN" # DRVSOL06000014 fi # DRVSOL06000014 if [ "$HDLM_UPDATE" = "yes" ]; then # DRVSOL05800007 start echo "" echo "KAPL09032-I Update installation completed successfully." # DRVSOL05900007 echo "Reboot the machine to enable the new HDLM modules." else # DRVSOL05900007 echo "" # DRVSOL05900007 echo "KAPL09176-I The installation completed successfully." # DRVSOL05900029 echo "Execute the dlmsetconf utility and, if you are using VxVM, execute the dlmvxexclude utility." # DRVSOL05900029 echo "After that, specifying the -r (reconfigure) option, restart the host machine." # DRVSOL05900029 fi # DRVSOL05800007 end exit 0