1#!/bin/sh 2# This file is in the public domain 3 4set -e 5 6OPLIST=`sh listallopts.sh` 7 8ODIR=/usr/obj/`pwd` 9RDIR=${ODIR}/_.result 10export ODIR RDIR 11 12 13compa ( ) ( 14 if [ ! -f $1/_.mtree ] ; then 15 return 16 fi 17 if [ ! -f $2/_.mtree ] ; then 18 return 19 fi 20 21 mtree -k uid,gid,mode,nlink,size,link,type,flags \ 22 -f ${1}/_.mtree -f $2/_.mtree > $2/_.mtree.all.txt || true 23 grep '^ ' $2/_.mtree.all.txt > $4/$3.mtree.chg.txt || true 24 grep '^[^ ]' $2/_.mtree.all.txt > $4/$3.mtree.sub.txt || true 25 grep '^ [^ ]' $2/_.mtree.all.txt > $4/$3.mtree.add.txt || true 26 a=`wc -l < $4/$3.mtree.add.txt` 27 s=`wc -l < $4/$3.mtree.sub.txt` 28 c=`wc -l < $4/$3.mtree.chg.txt` 29 c=`expr $c / 2 || true` 30 31 br=`awk 'NR == 2 {print $3}' $1/_.df` 32 bt=`awk 'NR == 2 {print $3}' $2/_.df` 33 echo $3 A $a S $s C $c B $bt D `expr $br - $bt` 34) 35 36for o in $OPLIST 37do 38 md=`echo "${o}=foo" | md5` 39 m=${RDIR}/$md 40 if [ ! -d $m ] ; then 41 continue 42 fi 43 if [ ! -d $m/iw -a ! -d $m/bw -a ! -d $m/w ] ; then 44 continue 45 fi 46 echo "=== reduce ${o}" 47 48 echo 49 echo ------------------------------------------------------------- 50 echo $md 51 cat $m/src.conf 52 echo ------------------------------------------------------------- 53 if [ ! -f $m/iw/done ] ; then 54 echo "IW pending" 55 elif [ ! -f $m/iw/_.success ] ; then 56 echo "IW failed" 57 fi 58 if [ ! -f $m/bw/done ] ; then 59 echo "BW pending" 60 elif [ ! -f $m/bw/_.success ] ; then 61 echo "BW failed" 62 fi 63 if [ ! -f $m/w/done ] ; then 64 echo "W pending" 65 elif [ ! -f $m/w/_.success ] ; then 66 echo "W failed" 67 fi 68 ( 69 for x in iw bw w 70 do 71 compa ${RDIR}/Ref/ $m/$x r-$x $m 72 done 73 ) > $m/stats 74 cat $m/stats 75done 76echo "== reduce done" 77