#!/bin/sh

# Needed utilities
AWK=/usr/bin/awk
CAT=/usr/bin/cat
CP=/usr/bin/cp
GREP=/usr/bin/grep
MKDIR=/usr/bin/mkdir
MV=/usr/bin/mv
PKGINFO=/usr/bin/pkginfo
RM=/usr/bin/rm
TAR=/usr/bin/tar
UNCOMPRESS=/usr/bin/uncompress

# Set needed variables
PATCHNO=105850-01
PKGDB=/var/sadm/pkg
PKGNAME=SUNWlmon

# Get the package base dir
BASEDIR=`${CAT} $PKGDB/$PKGNAME/pkginfo | ${GREP} BASEDIR | ${AWK} -F"=" '{print $2}'`

# Get the CLIENTROOT dir
CLIENTROOTDIR=`${CAT} $PKGDB/$PKGNAME/pkginfo | ${GREP} CLIENTROOT | ${AWK} -F"=" '{print $2}'`

# Get the package save db 
PATCH_UNDO_ARCHIVE=`${CAT} $PKGDB/$PKGNAME/pkginfo | ${GREP} PATCH_UNDO_ARCHIVE | ${AWK} -F"=" '{print $2}'`
if [ "$PATCH_UNDO_ARCHIVE" = "none" ]; then
    PKGSAVEDB=$PKGDB/$PKGNAME/save/$PATCHNO
else
    PKGSAVEDB=$PATCH_UNDO_ARCHIVE/$PATCHNO/$PKGNAME
fi

#
# Remove old product variable files directory: /var/opt/SUNWlmon
#
echo "Removing old '/var/opt/SUNWlmon' ..."
${RM} -rf /var/opt/SUNWlmon

#
# Create /var/opt/SUNWlmon/db , /var/opt/SUNWlmon/log ,
#
echo "Creating database and log dir ..."
${MKDIR} -p /var/opt/SUNWlmon/db
${MKDIR} -p /var/opt/SUNWlmon/log

# Remove the the JRE directory
echo "Removing JRE ..."
JRE_DIR=${BASEDIR}/$PKGNAME/JRE
${RM} -rf $JRE_DIR

# Restore the JDK directory
echo "Restoring JDK ..."
JDK_ARCHIVE=JDK-1.0.2.tar
JDK_TMP=/tmp/JDK$$
${MKDIR} $JDK_TMP
${MV} $PKGSAVEDB/$JDK_ARCHIVE.Z $JDK_TMP
${UNCOMPRESS} $JDK_TMP/$JDK_ARCHIVE.Z
(cd $BASEDIR/SUNWlmon; ${TAR} -xf $JDK_TMP/$JDK_ARCHIVE)
${RM} -rf JDK_TMP

# Restore the CLIENT ROOT files
CLIENTROOT_ARCHIVE=CLIENTROOT.tar
echo "Restoring CLIENTROOT files ..."
CLIENTROOT_TMP=/tmp/CLIENTROOT$$
${MKDIR} $CLIENTROOT_TMP
${MV} $PKGSAVEDB/$CLIENTROOT_ARCHIVE.Z $CLIENTROOT_TMP
${UNCOMPRESS} $CLIENTROOT_TMP/$CLIENTROOT_ARCHIVE.Z
(cd $CLIENTROOTDIR; ${TAR} -xf $CLIENTROOT_TMP/$CLIENTROOT_ARCHIVE)
${RM} -rf $CLIENTROOT_TMP

# Restore the old preremove
echo "Restoring old preremove file ..."
${MV} -f $PKGSAVEDB/install/preremove $PKGDB/$PKGNAME/install

