# /*
# * << 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