home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Examples / DriverKit / AMDPCSCSIDriver / veredit < prev   
Text File  |  1996-04-03  |  2KB  |  69 lines

  1. #!/bin/sh
  2.  
  3. # veredit
  4. # - change all the versions in the .table files to 
  5. #   the one stored in the Default.table
  6.  
  7. [ "$1" = "" -o "$2" = "" ] && {
  8.     echo "Usage: `basename $0` <input driver dir> <output driver dir>"
  9.     exit 1
  10. }
  11.  
  12. INPUT_ROOT=$1
  13. OUTPUT_ROOT=$2
  14. DEFAULT_TABLE=$INPUT_ROOT/Default.table
  15. TMPFILE=/tmp/$$.veredit
  16.  
  17. trap 'rm -f $TMPFILE; exit 1' 1 2 15
  18.  
  19. [ -d "$INPUT_ROOT" ] || {
  20.     echo "$0: driver input root directory '$INPUT_ROOT' does not exist"
  21.     exit 1
  22. }
  23.  
  24. [ -d "$OUTPUT_ROOT" ] || {
  25.     echo "$0: driver output root directory '$OUTPUT_ROOT' does not exist"
  26.     exit 1
  27. }
  28.  
  29. [ -f "$DEFAULT_TABLE" ] || {
  30.     echo "$0: driver default table '$DEFAULT_TABLE' does not exist"
  31.     exit 1
  32. }
  33.  
  34.  
  35. DRIVER_VERSION=`sed -n 's/.*"Version"[       ]*=[    ]*"\([0-9].[0-9][0-9]\)".*/\1/p' $DEFAULT_TABLE`
  36.  
  37. NEXTSTEP_VERSION=`echo $DRIVER_VERSION | sed 's/.$//'`
  38.  
  39. if [ "$DRIVER_VERSION" = "" ]
  40. then
  41.     echo "$0: '$DEFAULT_TABLE' contains no version string"
  42.     exit 1
  43. fi
  44.  
  45.  
  46. # update versions in table files
  47. for i in $INPUT_ROOT/*.table
  48. do
  49.     THIS_VERSION=`sed -n 's/.*"Version"[       ]*=[    ]*"\([0-9].[0-9][0-9]\)".*/\1/p' $i`
  50.     if [ ! "$THIS_VERSION" = "$DRIVER_VERSION" ]
  51.     then
  52.     if fgrep '"Version"' $i 2>&1 >/dev/null
  53.         then # Version string already there, edit it
  54.         sed "s/.*\"Version\".*/\"Version\" = \"$DRIVER_VERSION\";/" $i > $TMPFILE
  55.         else # 
  56.         cat $i > $TMPFILE
  57.         echo "\"Version\" = \"$DRIVER_VERSION\";" >> $TMPFILE
  58.         fi
  59.     BASENAME=`basename $i`
  60.     chmod 644 $OUTPUT_ROOT/$BASENAME
  61.         mv $TMPFILE $OUTPUT_ROOT/$BASENAME
  62.     chmod 444 $OUTPUT_ROOT/$BASENAME
  63.     fi
  64. done
  65.  
  66. rm -f $TMPFILE
  67.  
  68. exit 0
  69.