|
|
1.1 root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.