home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gnu / gnu-misc-src.lha / GNU / src / diffs / BuildDiffs.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  1995-01-21  |  2KB  |  67 lines

  1. #! /bin/sh
  2. #
  3. # This shell script takes care of building diff files for individual tools
  4. # in the GNU source tree, using the baseline archives for each tool.
  5. # It creates a temporary work directory in the location specified by
  6. # the first argument, dearchives the baseline archive in that directory,
  7. # and then builds a diff file in that directory using the baseline source
  8. # and the current amiga source.  If everything goes well, then the diff
  9. # file is moved to the correct location in the GNU source tree.
  10.  
  11. WORKDIR=$1/GNUdiffs
  12.  
  13. if test ! -d $WORKDIR
  14. then
  15.     echo "Making work directory $WORKDIR"
  16.     mkdir -p $WORKDIR
  17.     if test ! -d $WORKDIR
  18.     then
  19.         exit 1
  20.     fi
  21. fi
  22.  
  23. for name in /gnu/src/amiga/*
  24. do
  25.     if test -d $name
  26.     then
  27.         tool=`basename $name`
  28.         archive=""
  29.         if test ! -f $name/Product-Info
  30.         then
  31.             echo "WARNING: $name has no Product-Info file."
  32.         fi
  33.         if test -f /gnu/src/baseline/$tool.lha
  34.         then
  35.             archive="gnu:src/baseline/$tool.lha"
  36.         elif test -f /gnu/src/baseline/$tool.tar.gz
  37.         then
  38.             archive="/gnu/src/baseline/$tool.tar.gz"
  39.         fi
  40.         if test ! -n "$archive"
  41.         then
  42.             echo "WARNING: no baseline archive found for $tool, skipped."
  43.         else
  44.             if test ! -d $WORKDIR
  45.             then
  46.                 echo "mkdir -p $WORKDIR"
  47.                 mkdir -p $WORKDIR
  48.             fi
  49.             echo "=========="
  50.             echo "(cd $WORKDIR; rm -rf $tool)"
  51.             (cd $WORKDIR; rm -rf $tool)
  52.             case "$archive" in
  53.                 *.lha) echo "(cd $WORKDIR; lha -mraxeq x $archive)"
  54.                        (cd $WORKDIR; lha -mraxeq x $archive);;
  55.                 *.gz) echo "(cd $WORKDIR; gzip -d <$archive | tar -xf -)"
  56.                       (cd $WORKDIR; gzip -d <$archive | tar -xf -);;
  57.             esac
  58.             echo "(cd $WORKDIR; diff -rc --new-file $tool $name >>$tool.diffs)"
  59.             (cd $WORKDIR; diff -rc --new-file $tool $name >>$tool.diffs)
  60.             echo "(cd $WORKDIR; rm -rf $tool)"
  61.             (cd $WORKDIR; rm -rf $tool)
  62.             echo "cp $WORKDIR/$tool.diffs /gnu/src/diffs/$tool.diffs"
  63.             cp $WORKDIR/$tool.diffs /gnu/src/diffs/$tool.diffs
  64.         fi
  65.     fi
  66. done
  67.