Home | History | Annotate | Line # | Download | only in tools
cknames revision 1.2
      1  1.1    mrg #! /bin/sh
      2  1.2  perry #
      3  1.2  perry #	$NetBSD: cknames,v 1.2 1998/01/09 08:04:57 perry Exp $
      4  1.2  perry #
      5  1.1    mrg set x $*
      6  1.1    mrg . ./.param
      7  1.1    mrg 
      8  1.1    mrg trap "rm -f $TMPDIR/*$$; exit;" 2
      9  1.1    mrg 
     10  1.1    mrg for sec in $DIRLST
     11  1.1    mrg do
     12  1.1    mrg 	/bin/ls $MANDIR/man$sec > $TMPDIR/man${sec}$$
     13  1.1    mrg done
     14  1.1    mrg 
     15  1.1    mrg for sec in $DIRLST
     16  1.1    mrg do
     17  1.1    mrg 	cd $MANDIR/man$sec
     18  1.1    mrg 	dt=`date`
     19  1.1    mrg 	echo "$dt\n" > $TMPDIR/not.one.line$sec
     20  1.1    mrg 	echo "$dt\n" > $TMPDIR/name.order$sec
     21  1.1    mrg 	echo "$dt\n" > $TMPDIR/file.match$sec
     22  1.1    mrg 	echo "$dt\n" > $TMPDIR/no.TH$sec
     23  1.1    mrg 	echo "$dt\n" > $TMPDIR/no.NAME$sec
     24  1.1    mrg 	while read file
     25  1.1    mrg 	do
     26  1.1    mrg 		so=`line < $file | sed "s/ .*$//"`
     27  1.1    mrg 		if test "$so" = ".so"
     28  1.1    mrg 		then
     29  1.1    mrg 			continue
     30  1.1    mrg 		fi
     31  1.1    mrg 		grep "^.SH NAME" $file > /dev/null
     32  1.1    mrg 		if test $? -eq 1
     33  1.1    mrg 		then
     34  1.1    mrg 			echo $file >> $TMPDIR/no.NAME$sec
     35  1.1    mrg 			continue
     36  1.1    mrg 		fi
     37  1.1    mrg 		grep "^.SH SYNOPSIS" $file > /dev/null
     38  1.1    mrg 		if test $? -eq 0
     39  1.1    mrg 		then
     40  1.1    mrg 			lines=`cat $file | sed -n "/\.SH NAME/,/\.SH SYNOP/p" | wc -l | sed "s/ //g"`
     41  1.1    mrg 		else
     42  1.1    mrg 			lines=`cat $file | sed -n "/\.SH NAME/,/\.SH DESCR/p" | wc -l | sed "s/ //g"`
     43  1.1    mrg 		fi
     44  1.1    mrg 		if test $lines -gt 3
     45  1.1    mrg 		then
     46  1.1    mrg 			echo $file >> $TMPDIR/not.one.line$sec
     47  1.1    mrg 			continue
     48  1.1    mrg 		fi
     49  1.1    mrg 		th=`grep "^.TH" $file | line`
     50  1.1    mrg 		if test -z "$th"
     51  1.1    mrg 		then
     52  1.1    mrg 			echo $file >> $TMPDIR/no.TH$sec
     53  1.1    mrg 			continue
     54  1.1    mrg 		fi
     55  1.1    mrg 		set $th
     56  1.1    mrg 		name=`echo $2 | tr [A-Z] [a-z]`
     57  1.1    mrg 		suf=`echo $3 | tr [A-Z] [a-z]`
     58  1.1    mrg 		fname="${name}.$suf"
     59  1.1    mrg 		if test $fname != $file
     60  1.1    mrg 		then
     61  1.1    mrg 			echo $file >> $TMPDIR/file.match$sec
     62  1.1    mrg 		fi
     63  1.1    mrg 		ed - $file > $TMPDIR/tmp.$$ <<!
     64  1.1    mrg 			/^.SH NAME/+p
     65  1.1    mrg 			q
     66  1.1    mrg !
     67  1.1    mrg 		nname=`cat $TMPDIR/tmp.$$ | sed -e "s/ .*//" -e "s/,.*//"`
     68  1.1    mrg 		rm -f $TMPDIR/tmp.$$
     69  1.1    mrg 		if test $name != $nname
     70  1.1    mrg 		then
     71  1.1    mrg 			echo $file >> $TMPDIR/name.order$sec
     72  1.1    mrg 		fi
     73  1.1    mrg 	done < $TMPDIR/man${sec}$$
     74  1.1    mrg done
     75  1.1    mrg 
     76  1.1    mrg rm -f $TMPDIR/*$$
     77