LOGDIR=/var/sadm/patch/115861-05
LOG=$LOGDIR/prebackout.log

# check for root
user=`/bin/id | /usr/bin/grep root | /usr/bin/wc -l`
if [ $user -eq 0 ]; then
	msg="You must be root to execute this script."
        echo "$msg"
        exit 1
fi

/bin/mkdir -p $LOGDIR

ESM_BASE=`/usr/bin/pkgparam SUNWstm ESM_BASE`
if [ $? -ne 0 ]; then
    msg="Could not determine ESM location."
    echo "$msg"
    echo "$msg" >> $LOG
    exit 1
fi


# helper function to restart database (for making db changes)
start_db () {
    /usr/bin/su - $SSTR_DBOWNER -c ". $SSTR_DBBIN/postgres.env; $SSTR_DBSTART" >> $LOG 2>&1
    this_try=1
    until /usr/bin/su $SSTR_DBOWNER  -c ". $SSTR_DBBIN/postgres.env; $SSTR_PSQL -l" > /dev/null 2>&1
    do
        if [ $this_try -ge 12 ]; then
	    msg="Database still not up - giving up."
	    echo "$msg"
            echo "$msg" >> $LOG
            exit 1
        fi
        echo "Wait and try connecting to database again..." >> $LOG
        this_try=`/usr/bin/expr $this_try + 1`
        sleep 10
    done
}


# stop esm and smicc if not running as part of esmpatch
if [ "$ESM_CONTEXT" != "patch" ]; then

    $ESM_BASE/bin/esmcontrol -m stop >> $LOG 2>&1

    SMSERVER=/usr/sbin/smcwebserver
    if [ -f "$SMSERVER" ]; then
        $SMSERVER stop >> $LOG 2>&1
    fi
fi

# Below are changes made by the -01 rev prebackout.  If earlier versions
# of the patch were installed before this patch, then don't back out these
# changes (because they are still needed by the previous versions).  If no
# old versions were installed, go ahead and back out the changes.

oldpatch=0
/usr/bin/showrev -p | /usr/bin/grep "Patch: 115861" | /usr/bin/grep -v "115861-05" > /dev/null 2>&1
if [ $? -eq 0 ]; then
    oldpatch=1
fi

if [ $oldpatch -ne 1 ]; then
    # restore changes made to db ddl
    SSTR_HOME=$ESM_BASE/sssm
    SSTR_DBHOME=$SSTR_HOME/util/pgsql
    SSTR_DBBIN=$SSTR_DBHOME/nsm1/bin
    SSTR_DBSTART=$SSTR_DBBIN/dbstart.sh
    SSTR_DBOWNER=sstr001
    SSTR_PSQL=$SSTR_DBHOME/bin/psql
    start_db

    /usr/bin/su - $SSTR_DBOWNER -c ". $SSTR_DBBIN/postgres.env; $SSTR_PSQL -f $SSTR_DBHOME/nsm1/ddl/patchrm-01.sql" >> $LOG 2>&1

fi
