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