home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1994 February / psl_9403.zip / psl_9403 / DOS / COMMUNIC / HA221B.ZIP / REMOVE.SH < prev    next >
Text File  |  1991-11-15  |  2KB  |  77 lines

  1. #
  2. # uremove    2.0a  12/19/90
  3. #            2.0d  01/07/91
  4. #            2.07  08/30/91  name change to uremove (was remove)
  5. #
  6. #  Xenix shell script to remove driver
  7. #  (c) 1990-91 Hansco Information Technologies, Inc.
  8. #
  9. tmpdir=/tmp
  10. [ "$1" = "-n" ] && {
  11.    noinput=Y
  12.    shift
  13. }
  14. productname=$1
  15. drivername=$2
  16. version=$3
  17. masterfile=$4
  18. #
  19. getyn() {
  20.         while   read resp
  21.         do      case $resp in
  22.                 [yY]*)  return 0                        ;;
  23.                 [nN]*)  return 1                        ;;
  24.                 *)      echo "Please enter Y or N: \c"  ;;
  25.                 esac
  26.         done
  27. }
  28. #
  29. # getcurver     - get the currently installed driver version
  30. #
  31. getcurver() {
  32.         curver=`sed -n "\\;# $productname V; {s;# $productname V;;;p;}" $dvrfile`
  33. }
  34. #
  35. # remove <file> - remove HIT/Ansi additions from <file>
  36. #
  37. remove() {
  38.         remfile=$1
  39.         cp $remfile $remfile.old
  40.         sed -n "\\;# $productname V;,\\;# END $productname; !p" $remfile.old >$remfile
  41. }
  42. #
  43. # purge <file> <name>  - remove specified driver
  44. #       assumes $tmpdir = /tmp directory
  45. #               $version = install driver version
  46. #
  47. purge() {
  48.         dvrfile=$1
  49.         dvrname=$2
  50.         [ -w "$dvrfile" ] || return 4
  51.         getcurver
  52.         installed=UPD
  53.         [ -z "$curver" ] && installed=NO
  54.         [ "$curver" = "$version" ] && installed=YES
  55.         case $installed in
  56.           YES|UPD) [ "$noinput" ] && {
  57.                         remove $dvrfile 
  58.                         echo "$dvrname removed."
  59.                         return 0
  60.                    }
  61.                 echo "\nAre you sure you want to remove $dvrname? (y/n) \c"
  62.                 getyn && {
  63.                         remove $dvrfile 
  64.                         echo "$dvrname removed." 
  65.                         return 0
  66.                 }
  67.                 return 2
  68.                 ;;
  69.           NO)   echo "$dvrname is not installed."
  70.                 return 3
  71.                 ;;
  72.         esac
  73. }
  74. #
  75. purge $masterfile "$productname $drivername"
  76. exit $?
  77.