home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # $Id: postremove.src,v 1.2 1997/09/24 03:08:34 philip Exp $
- ######################################################################
- # Triteal Enterprise Desktop
- # (c) Copyright 1997 TriTeal Corporation
- #
- # TEDdesk postremove
- ######################################################################
-
- ######################################################################
- # KillProc
- # $1 process
- ######################################################################
- KillProc()
- {
-
- ps -ef | fgrep $1 | grep -v grep >/tmp/killproc.$$
-
- if [ -s /tmp/killproc.$$ ]
- then
-
- awk '{print "kill " $2}' /tmp/killproc.$$ | /bin/sh 1>/dev/null
-
- sleep 2
-
- ps -ef | fgrep $1 | grep -v grep >/tmp/killproc.$$
-
- if [ -s /tmp/killproc.$$ ]
- then
-
- awk '{print "kill -TERM " $2}' /tmp/killproc.$$ | /bin/sh 1>/dev/null
-
- sleep 2
-
- ps -ef | fgrep $1 | grep -v grep >/tmp/killproc.$$
-
- if [ -s /tmp/killproc.$$ ]
- then
-
- awk '{print "kill -9 " $2}' /tmp/killproc.$$ | /bin/sh 1>/dev/null
-
-
- sleep 2
- fi
- fi
- fi
- rm -f /tmp/killproc.$$
- }
- ######################################################################
- # Usage
- ######################################################################
- Usage()
- {
-
- echo "Usage: `basename $0`"
-
- echo ""
- }
-
- ######################################################################
- # SyncInetD
- ######################################################################
- SyncInetD()
- {
- if [ -z "$TED_NO_EDIT_SYSFILES" ]; then
- # issue a SIGHUP to the inetd process
-
-
-
- ps -ef | grep inetd | grep -v grep >/tmp/tmppsout
-
- if [ -s /tmp/tmppsout ]
- then
- $AWK '{print "kill -HUP " $2}' /tmp/tmppsout | /bin/sh
- else
-
- /usr/etc/inetd
-
- fi
- rm /tmp/tmppsout
-
- fi
- }
- ######################################################################
- # UpdateEtcAppConfigDirectory
- ######################################################################
- UpdateEtcAppConfigDirectory()
- {
- # a new locale has been installed. update /etc/dt
-
- APPCONFIG=appconfig
- # appconfig directories to update
- APPCONFIG_DIRS="appmanager help icons types"
-
- # make sure appconfig directory exists
- cd ${INSTALL_ROOT}$TED_CONFIG_TOP
- if [ ! -d $APPCONFIG ]
- then
- mkdir $APPCONFIG
- fi
- cd $APPCONFIG
-
- for i in $APPCONFIG_DIRS
- do
- # make sure appconfig subdirectory exists
- if [ ! -d $i ]
- then
- mkdir $i
- fi
- if [ -d ${INSTALL_ROOT}$TED_TOP/$APPCONFIG/$i ]; then
- cd $i
-
- # for each locale in install area, update appconfig
- for j in ${INSTALL_ROOT}$TED_TOP/$APPCONFIG/$i/STAR
- do
- subdir=`basename $j`
- if [ ! -d $subdir ]; then
-
- # check to see if the locale is a sym link and create sym link dir if it is
- if [ -h ${INSTALL_ROOT}$TED_TOP/$APPCONFIG/$i/$subdir ] ; then
- base_subdir=`echo $subdir | cut -f1 -d! | cut -f1 -d_ `
- ln -s $base_subdir $subdir
- else
- mkdir $subdir
- fi
-
- fi
- done
- cd ..
- fi
- done
- }
-
- # $Id: remove.misc,v 1.1.1.1 1997/09/09 01:23:24 philip Exp $
- # Misc deinstallation functions
-
-
-
-
-
-
-
-
- ######################################################################
- # RemoveTtdbFromInetd
- ######################################################################
- RemoveTtdbFromInetd()
- {
-
- /usr/sbin/pmadm -d -p tcp -s ttdbserverd >/dev/null 2>&1
- /usr/sbin/pmadm -r -p tcp -s ttdbserverd >/dev/null 2>&1
- /usr/sbin/sacadm -x -p tcp
-
- }
- ######################################################################
- # RemoveDtspcdFromInetd
- ######################################################################
- RemoveDtspcdFromInetd()
- {
-
- TMPFILE=/tmp/inetd.conf.dtspcd.$$
- $AWK '{if ($1 == "dtspc")
- ;
- else
- print $0
- }' $INETD_CONF >$TMPFILE
-
- cp $TMPFILE $INETD_CONF
- rm -f $TMPFILE
-
- }
-
-
-
- ######################################################################
- # RemoveCmsdFromInetd
- ######################################################################
- RemoveCmsdFromInetd()
- {
-
- TMPFILE=/tmp/inetd.conf.cmsd.$$
- # first remove the TED rpc.cmsd entry
-
-
-
- $AWK '{if ($1 == "100068/2-5" && $6 == "/usr/dt/bin/rpc.cmsd" )
- ;
- else
- print $0
- }' $INETD_CONF >$TMPFILE
-
-
-
- cp $TMPFILE $INETD_CONF
- rm -f $TMPFILE
-
- # now uncomment any previously existing 100068 entry
-
-
- $AWK '{if ($1 == "#TED" && $7 != "/usr/dt/bin/rpc.cmsd" ) {
- $1 = $2;
- $2 = ""
- }
- print $0
- }' $INETD_CONF >$TMPFILE
-
-
- cp $TMPFILE $INETD_CONF
- rm -f $TMPFILE
-
- }
-
- ######################################################################
- # UnFixInetdDotConf
- ######################################################################
- UnFixInetdDotConf()
- {
- if [ -z "$TED_NO_EDIT_SYSFILES" ]; then
- if [ ! -f $INETD_CONF ]; then
- echo "" >$INETD_CONF
- fi
-
-
- RemoveCmsdFromInetd
-
- RemoveDtspcdFromInetd
- RemoveTtdbFromInetd
- else
- echo "WARNING: did not modify $INETD_CONF"
- fi
- }
- ######################################################################
- # UnFixEtcServices
- ######################################################################
- UnFixEtcServices()
- {
- if [ -z "$TED_NO_EDIT_SYSFILES" ]; then
-
- TMPFILE=/tmp/tmp.services.$$
-
- $AWK '{
- if ($1 == "dtspc" && $2 == "6112/tcp")
- ;
- else
- print $0
- }' $SERVICES >$TMPFILE
-
- cp $TMPFILE $SERVICES
- rm -f $TMPFILE
-
- else
- echo "WARNING: did not modify $SERVICES"
- fi
- }
-
-
-
- ######################################################################
- # Main
- ######################################################################
-
- SERVICES=/etc/inet/services
- INETD_CONF=/etc/inet/inetd.conf
-
-
-
- AWK=nawk
-
- RPC=/etc/rpc
-
-
-
-
- TED_TOP=/usr/dt
-
-
- TED_CONFIG_TOP=/etc/dt
- TED_TEMP_TOP=/var/dt
-
-
-
-
-
- if [ -z "$TED_TOP" ]; then
- echo "ERROR TED_TOP is not set, exiting"
- exit 1;
- fi
-
-
- # kill any remaining programs
- KillProc "rpc.cmsd"
- KillProc "rpc.ttdbserverd"
- KillProc "dtspcd"
- KillProc "dtsession"
- KillProc "dtlogin"
-
-
-
-
-
- UnFixEtcServices
- UnFixInetdDotConf
-
-
-
-
-
-
- if [ -z "$TED_NO_EDIT_SYSFILES" ]; then
- #
- # remove the /var/dt directory
- #
- if [ ! -z "$TED_TEMP_TOP" ] ; then
- if [ -d "$TED_TEMP_TOP" ] ; then
- rm -rf $TED_TEMP_TOP
- fi
- fi
- fi
-
-
- # sync inetd with our changes
- SyncInetD
-
-
-
-