Home | History | Annotate | Line # | Download | only in tools
      1 MANDIR=/usr/man
      2 TMPDIR=/usr/man/tmp
      3 TOOLS=$MANDIR/tools
      4 
      5 trap "rm $TMPDIR/tmp.$$ ; exit" 2 3 15
      6 
      7 P=108
      8 p=""
      9 if test "$1" = "-p"
     10 then
     11 	P=65
     12 	p=-p
     13 	shift
     14 fi
     15 
     16 if test $# -eq 0
     17 then
     18 	echo "tocrc: no argument"
     19 	exit
     20 fi
     21 
     22 if test $# -eq 2
     23 then
     24 	: create toc input file for one section only
     25 
     26 	> $TMPDIR/tocx$1
     27 	for file in $MANDIR/man$1/*.$1*
     28 	do
     29 		if test ! -s $file
     30 		then
     31 			continue
     32 		fi
     33 		so=`line < $file | sed "s/ .*//"`
     34 		if test "$so" = ".so"
     35 		then
     36 			continue
     37 		fi
     38 		ed - $file > $TMPDIR/tmp.$$ <<!
     39 			H
     40 			/^\.TH/p
     41 			q
     42 !
     43 		loc=`cat $TMPDIR/tmp.$$ | sed "s/.*local.*/local/"`
     44 		if test "$loc" = "local"
     45 		then
     46 			continue
     47 		fi
     48 		name=`basename $file`
     49 		name=`echo $name | sed "s/\.\(.\{1,2\}\)\$/(\1)/"`
     50 		ed - $file > $TMPDIR/tmp.$$ <<!
     51 			/^.SH NAME/+p
     52 			q
     53 !
     54 		desc=`line < $TMPDIR/tmp.$$`
     55 		desc=`echo $desc | sed -e "s/.s-1//g" -e "s/.s0//g"  -e "s/.s+1//g"   -e "s/ .- /: /"  -e "s/^/$name /"  -e "s/$/./"`
     56 		if test -n "$desc"
     57 		then
     58 			echo $desc >> $TMPDIR/tocx$1
     59 		fi
     60 		rm -f $TMPDIR/tmp.$$
     61 	done
     62 else case $1 in
     63 	all )
     64 		:   tocx files for all sections and everything else
     65 
     66 		for x in 1 2 3 4 5 6 7 8
     67 		do
     68 			$0 $p $x $x
     69 		done
     70 		$0 $p t
     71 		;;
     72 	t )
     73 		:   permuted index and toc files
     74 
     75 		if test ! -f $TMPDIR/tocx1
     76 		then
     77 			echo "tocrc: some tocx? files missing"
     78 			exit
     79 		fi
     80 		cat $TMPDIR/tocx? > $TMPDIR/cattoc
     81 		ed - $TMPDIR/cattoc <<!
     82 			H
     83 			g/(1c)/s//(1C)/
     84 			g/(1m)/s//(1M)/
     85 			g/(1g)/s//(1G)/
     86 			g/(3c)/s//(3C)/
     87 			g/(3m)/s//(3M)/
     88 			g/(3s)/s//(3S)/
     89 			g/(3x)/s//(3X)/
     90 			g/"\."/d
     91 			w
     92 			q
     93 !
     94 		ptx -r -t -b $TOOLS/break -f -w $P -i $TOOLS/ignore $TMPDIR/cattoc $MANDIR/man0/ptxx
     95 		for x in 1 2 3 4 5 6 7 8
     96 		do
     97 			ed - $TMPDIR/tocx$x << !
     98 			H
     99 				/^intro/m0
    100 				1,\$s/ .*://
    101 				1,\$s/.$//
    102 				1,\$s/([1-8][a-z]\{0,1\}) /" "/
    103 				1,\$s/.*/.xx "&"/
    104 				g/""/d
    105 				w $MANDIR/man0/toc$x
    106 				q
    107 !
    108 		done
    109 		;;
    110 	* )
    111 		$0 $p $1 $1
    112 		;;
    113 	esac
    114 fi
    115