1 #! /bin/sh 2 set x $* 3 . ./.param 4 5 for dir in $DIRLST 6 do 7 > $TMPDIR/tmp.$$ 8 date > $TMPDIR/badso$dir 9 echo >> $TMPDIR/badso$dir 10 date > $TMPDIR/needso$dir 11 echo >> $TMPDIR/needso$dir 12 cd $MANDIR/man$dir 13 for file in $FILLST 14 do 15 ln=`line < $file` 16 so=`echo $ln | sed "s/ .*//"` 17 if test "$so" = ".so" 18 then 19 so=`echo $ln | sed -e "s/.so//" -e "s/^/ls/"` 20 echo $so >> $TMPDIR/tmp.$$ 21 else 22 ed - $file > $TMPDIR/tmp2.$$ <<! 23 /^\.SH NAME/+s/ .-.*//p 24 q 25 ! 26 name=`line < $TMPDIR/tmp2.$$` 27 echo $name | grep "," > /dev/null 28 if test $? -eq 0 29 then 30 name=`echo $name | sed "s/,/ /g"` 31 for ent in $name 32 do 33 if test $ent = `echo $file | sed "s/\..*//"` 34 then 35 continue 36 fi 37 ls $MANDIR/man$dir/$ent.* 2>&1 | grep "not found" >> $TMPDIR/needso$dir 38 done 39 fi 40 fi 41 done 42 43 cd $TMPDIR 44 sh tmp.$$ 2>&1 | grep "not found" >> badso$dir 45 rm -f tmp.$$ tmp2.$$ 46 done 47