home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / visionfs / install / postremove < prev    next >
Text File  |  1998-08-19  |  4KB  |  208 lines

  1. #!/bin/sh
  2. #******************************************************************************
  3. #
  4. #       Copyright (C) 1995 The Santa Cruz Operation, Inc.
  5. #               All Rights Reserved.
  6. #
  7. #       The information in this file is provided for the exclusive use of
  8. #       the licensees of The Santa Cruz Operation, Inc.  Such users have the
  9. #       right to use, modify, and incorporate this code into other products
  10. #       for purposes authorized by the license agreement provided they include
  11. #       this notice and the associated copyright notice with any such product.
  12. #       The information in this file is provided "AS IS" without warranty.
  13. #
  14. #===============================================================================
  15. buildDate="3.5.2 - Mon Jan 27 13:22:20 1997"
  16.  
  17. # This script was built from shell library
  18. #   $Id: install.shlib,v 10.16.2.3 1997/02/11 19:58:19 tobyd Exp $
  19.  
  20. GLOB_VISION_FILE=/etc/vision.conf
  21. VISION_FILE=/etc/vision.conf
  22.  
  23. hostname="`uname -n | sed 's@^\([^\.]*\).*@\1@'`"
  24.  
  25. N=""
  26. C=""
  27. if echo -n | grep n > /dev/null
  28. then
  29.   C="\c"
  30. else
  31.   N="-n"
  32. fi
  33. _ss_headlines="--------------------------------------------------------------------------"
  34.  
  35.  
  36. INST_PRODUCT=VISIONFS
  37. INST_RCFILE=S90visionfs
  38. INST_RCSTRING="##VisionFS##"
  39.  
  40. # set up message catalog
  41. . /var/sadm/pkg/${PKGINST}/install/${PKGINST}/setup
  42.  
  43. OK=0
  44. FAIL=1
  45.  
  46. ccsError()
  47. {
  48.     echo "$0: " $* 1>&2
  49. }
  50.  
  51. ccsWarning()
  52. {
  53.     echo "$0: " $* 1>&2
  54. }
  55.  
  56. # work out the rctype
  57. a_rccurrun=""
  58. a_rcinstrun=""
  59. if [ -d /etc/rc2.d -o -d /etc/rc3.d ]
  60. then
  61.   a_rctype="svr4"
  62.   a_rcfile="/etc"
  63. elif [ -d /sbin/rc2.d -o -d /sbin/rc3.d ]
  64. then
  65.   a_rctype="sbin"
  66.   a_rcfile="/sbin"
  67. elif [ -f /etc/rc.local ]
  68. then
  69.   a_rctype="local"
  70.   a_rcfile="/etc/rc.local"
  71. elif [ -f /etc/rc.d/rc.local ]
  72. then
  73.   a_rctype="rcd"
  74.   a_rcfile="/etc/rc.d/rc.local"
  75. elif [ -f /etc/rc.nfs ]
  76. then
  77.   a_rctype="nfs"
  78.   a_rcfile="/etc/rc.nfs"
  79. elif [ -f /etc/rc ]
  80. then
  81.   a_rctype="basic"
  82.   a_rcfile="/etc/rc"
  83. else
  84.   a_rctype="unknown"
  85.   a_rcfile=""
  86. fi
  87.  
  88. if [ "$a_rctype" = "svr4" -o "$a_rctype" = "sbin" ]; then
  89.   a_rccurrun=`who -r | awk '{print $3;}'`
  90.   if [ "a_rctype" = "svr4" ]; then    
  91.     _rcbase=/etc/rc
  92.   else
  93.     _rcbase=/sbin/rc
  94.   fi
  95.   for _i in S 1 2 3 4
  96.   do
  97.     if [ -f $_rcbase$_i.d/$INST_RCFILE ]
  98.     then
  99.       a_rcinstrun=$_i
  100.       break
  101.     fi
  102.   done
  103.   a_rcfile=$a_rcfile/rc$a_rccurrun.d/$INST_RCFILE
  104. fi
  105.  
  106.  
  107. # remove RC file
  108. # set the defaults
  109. _delete=false
  110. _files="dummy"
  111.  
  112. # create the list of files to check
  113. case "$a_rctype" in
  114. "svr4")
  115.   _delete=true
  116.   for _i in S 1 2 3 4
  117.   do
  118.     if [ -f /etc/rc$_i.d/$INST_RCFILE ]
  119.     then
  120.       _files="$_files /etc/rc$_i.d/$INST_RCFILE"
  121.     fi
  122.   done
  123.   ;;
  124. "sbin")
  125.   _delete=true
  126.   for _i in S 1 2 3 4
  127.   do
  128.     if [ -f /sbin/rc$_i.d/S90visionfs ]
  129.     then
  130.       _files="$_files /sbin/rc$_i.d/S90visionfs" # !!!visionfs???
  131.     fi
  132.   done
  133.   ;;
  134. "local")
  135.   _files="$_files /etc/rc.local"
  136.   ;;
  137. "rcd")
  138.   _files="$_files /etc/rc.d/rc.local"
  139.   ;;
  140. "nfs")
  141.   _files="$_files /etc/rc.nfs"
  142.   ;;
  143. "basic")
  144.   _files="$_files /etc/rc"
  145.   ;;
  146. esac
  147.  
  148. # either delete the files, or substitute them
  149. if [ "$_delete" = "true" ]
  150. then
  151.   for _i in $_files
  152.   do
  153.     if [ "$_i" = "dummy" ]
  154.     then
  155.       continue
  156.     fi
  157.     rm -f $_i
  158.   done
  159. else
  160.   for _i in $_files
  161.   do
  162.     if [ "$_i" = "dummy" ]
  163.     then
  164.       continue
  165.     fi
  166.  
  167.     # delete everything between the start and stop markers
  168.     echo "BEGIN {" > $_i.awk
  169.     echo "  doprint=1;" >> $_i.awk
  170.     echo "}" >> $_i.awk
  171.     echo "\$1 == \"$INST_RCSTRING\" {" >> $_i.awk
  172.     echo "  if (\$2 == \"start\") {" >> $_i.awk
  173.     echo "    doprint = 0;" >> $_i.awk
  174.     echo "  } else {" >> $_i.awk
  175.     echo "    doprint = 1;" >> $_i.awk
  176.     echo "    continue;" >> $_i.awk
  177.     echo "  }" >> $_i.awk
  178.     echo "}" >> $_i.awk
  179.     echo "{" >> $_i.awk
  180.     echo "  if (doprint == 1) {" >> $_i.awk
  181.     echo "    print" >> $_i.awk
  182.     echo "  }" >> $_i.awk
  183.     echo "}" >> $_i.awk
  184.  
  185.     # run the newly created awk script on the file
  186.     if [ -f $_i.awk ]
  187.     then
  188.       cp -p $_i $_i.tmp1 #for perms
  189.       awk -f $_i.awk $_i > $_i.tmp1
  190.       rm -f $_i.awk
  191.     fi 
  192.  
  193.     # move the new copy over the old
  194.     if [ -f $_i.tmp1 ]
  195.     then
  196.       cp -p $_i.tmp1 $_i
  197.       rm -f $_i.tmp1
  198.     fi
  199.   done
  200. fi
  201.  
  202. crontab -l 2>/dev/null | grep -v "/visionfs checkpoint" | crontab 2>/dev/null
  203.  
  204.  
  205.  
  206. exit $OK
  207.  
  208.