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