# request script
control an upgrade installation
PATH=/usr/sadm/bin:$PATH
UPGR_SCRIPT=/tmp/upgr.$PKGINST
UPGRADE_MSG="Do you want to upgrade the installed version ?"
UPGRADE_HLP="If upgrade is desired, the existing version of the \
package will be replaced by this version. If it is not \
desired, this new version will be installed into a different \
base directory and both versions will be usable."
UPGRADE_NOTICE="Conflict approval questions may be displayed. The \
listed files are the ones that will be upgraded. Please \
answer \"y\" to these questions if they are presented."
pkginfo -v 1.0 -q SUNWstuf.\*
if [ $? -eq 0 ]; then
# See if upgrade is desired here
response=`ckyorn -p "$UPGRADE_MSG" -h "$UPGRADE_HLP"`
if [ $response = "y" ]; then
OldPkg=`pkginfo -v 1.0 -x SUNWstuf.\* | nawk ' \
/SUNW/{print $1} '`
# Initiate upgrade
echo "PATH=/usr/sadm/bin:$PATH" > $UPGR_SCRIPT
echo "sleep 3" >> $UPGR_SCRIPT
echo "echo Now removing old instance of $PKG" >> \
$UPGR_SCRIPT
if [ ${PKG_INSTALL_ROOT} ]; then
echo "pkgrm -n -R $PKG_INSTALL_ROOT $OldPkg" >> \
$UPGR_SCRIPT
else
echo "pkgrm -n $OldPkg" >> $UPGR_SCRIPT
fi
echo "rm $UPGR_SCRIPT" >> $UPGR_SCRIPT
echo "exit $?" >> $UPGR_SCRIPT
# Get the original package's base directory
OldBD=`pkgparam $OldPkg BASEDIR`
echo "BASEDIR=$OldBD" > $1
puttext -l 5 "$UPGRADE_NOTICE"
else
if [ -f $UPGR_SCRIPT ]; then
rm -r $UPGR_SCRIPT
fi
fi
fi
exit 0
|