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

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

# stop TR if installed
/usr/bin/pkginfo -q SUNWnsmbj
if [ $? -eq 0 ]; then
    # don't stop it unless they've configured - otherwise this file isn't
    # created yet and you get a bad-sounding error message
    if [ -e /opt/SUNWnsm/bin/sstr_ctl ]; then
        /etc/init.d/sstrd stop
    fi

    # if database is installed need to put back some SQL 
    PKG=SUNWnsmdb
    /usr/bin/pkginfo -q $PKG
    if [ $? -eq 0 ]; then
	BASEDIR=`/usr/bin/pkginfo -r $PKG 2>&1`
	if [ $? -ne 0 ]; then
	    BASEDIR=/opt
	fi
	SSTR_HOME=$BASEDIR/SUNWnsm
        SSTR_DBHOME=$SSTR_HOME/util/pgsql
        SSTR_DBBIN=$SSTR_DBHOME/nsm1/bin
        SSTR_DBSTART=$SSTR_DBBIN/dbstart.sh
        SSTR_DBSTOP=$SSTR_DBBIN/dbstop.sh
        SSTR_DBOWNER=sstr001
        SSTR_PSQL=$SSTR_DBHOME/bin/psql
	start_db

	# back out changes made in -02
        /usr/bin/su $SSTR_DBOWNER  -c ". $SSTR_DBBIN/postgres.env; LD_LIBRARY_PATH=$SSTR_DBHOME/lib:$SSTR_DBHOME/nsm1/lib; export LD_LIBRARY_PATH; $SSTR_PSQL -f $SSTR_DBHOME/nsm1/ddl/patchrm-02.sql"

        # shut db back down
        /usr/bin/su - $SSTR_DBOWNER -c "$SSTR_DBSTOP"
    fi
fi

# stop CS if installed
/usr/bin/pkginfo -q SUNWdm
if [ $? -eq 0 ]; then
    /etc/init.d/sscs stop
    /etc/init.d/sscs.wbem stop
    /etc/init.d/sshd stop
    os=`/sbin/uname -r`
    if [ "$os" = "5.8" ]; then
	/etc/init.d/prngd stop
    fi
fi

# stop DE if installed
/usr/bin/pkginfo -q SUNWsade
if [ $? -eq 0 ]; then
    /etc/init.d/init.ssde stop
fi
