Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!mcsun!hp4nl!star.cs.vu.nl!ast@cs.vu.nl From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: wrapup Message-ID: <4981@ast.cs.vu.nl> Date: 24 Dec 89 00:37:28 GMT Sender: ast@cs.vu.nl Reply-To: ast@cs.vu.nl (Andy Tanenbaum) Organization: VU Informatica, Amsterdam Lines: 96 It is 1:30 in the morning here in Europe, Dec. 24, but I made it in time for the Sleigh to take off for its first run (New Zealand). Actually Tonga is closer to the International Dateline, but nobody there was good this year, so it is being omitted. Tomorrow I will try to get the rest (commands subdirectories). It case you are wondering why everything is so big, it is not that everything has been rewritten from scratch, but rather that I ran commands/*.c through the pretty printer (pretty.c). This gives the odd change to the code. Of course I could have told everyone to run pretty themselves with my parameters and saved a ton of bandwidth, but half the people would have used their own favorite parameters and then cdiffs wouldn't work and it would be chaos. Eastern Europe notwithstanding, sometimes dictatorship is the only way to fly. As people begin to absorb all this stuff, please post reports to the net, even if it is only "I put everything together on machine XYZ and it worked fine." I would like some feedback. Also about the distribution mechanism (shar + compress + uue for the bitnet folks). I'll include my shell script below for anyone who is interested. Andy Tanenbaum (ast@cs.vu.nl) ------------------------ shell script that generates all this stuff ------- # makepost new old postdir # prepares a posting and puts the files in postdir # All three arguments must be absolute path names - SHOULD CHECK THIS new=$1 old=$2 post=$3 dir=`basename $new` # Peter broke my $# trying to fix quoting if test "$4" != "" then echo Usage: makepost newdir olddir postdir exit 1 fi case $# in 3) echo "" >/dev/null ;; *) echo Usage: makepost newdir olddir postdir exit 1 ;; esac work=/usr/tmp/`basename $0`.$$ # this had better be an absolute path too rm -rf $work mkdir $work cd $work for i in $new/* do b=`basename $i` if test -d $i then # It is a directory. Skip. echo $i is a dir "(skipping)" # makepost $new/$b $old/$b $post # exit 0 else # It is a regular file. See if it existed last time. if test -r $old/$b then # It existed last time. Did it change? if cmp -s $new/$b $old/$b then # File didn't change. Don't do anything. echo $b is unchanged >/dev/null else # File did change. # echo $b has been modified f=`basename $b .c` cdiff -c1 $old/$b $new/$b >$f.cdif newlength=`wc -c <$new/$b` double=`expr $newlength + $newlength` difflength=`wc -c <$f.cdif` if test $difflength -gt $double then cp $new/$b . #diff is huge; use orig rm `basename $b .c`.cdif fi fi else # This file is new. cp $new/$b . fi fi done # At this point, $work contains *.cdif, new files, and heavily modified files. crc $new/* >$dir.crc echo "------------------- Files in the posting --------------------- " ls -l # for the log gather -f $new cp *uue $post exit 0