2001-02-06 12:45:29 +00:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
MANDIR=/usr/share/man
|
|
|
|
TMPDIR=/usr/share/man/tmp
|
1994-05-30 19:09:18 +00:00
|
|
|
TOOLS=$MANDIR/tools
|
|
|
|
|
|
|
|
trap "rm $TMPDIR/tmp.$$ ; exit" 2 3 15
|
|
|
|
|
|
|
|
P=108
|
|
|
|
p=""
|
|
|
|
if test "$1" = "-p"
|
|
|
|
then
|
|
|
|
P=65
|
|
|
|
p=-p
|
|
|
|
shift
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test $# -eq 0
|
|
|
|
then
|
|
|
|
echo "tocrc: no argument"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test $# -eq 2
|
|
|
|
then
|
|
|
|
: create toc input file for one section only
|
|
|
|
|
|
|
|
> $TMPDIR/tocx$1
|
|
|
|
for file in $MANDIR/man$1/*.$1*
|
|
|
|
do
|
|
|
|
if test ! -s $file
|
|
|
|
then
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
so=`line < $file | sed "s/ .*//"`
|
|
|
|
if test "$so" = ".so"
|
|
|
|
then
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
ed - $file > $TMPDIR/tmp.$$ <<!
|
|
|
|
H
|
|
|
|
/^\.TH/p
|
|
|
|
q
|
|
|
|
!
|
|
|
|
loc=`cat $TMPDIR/tmp.$$ | sed "s/.*local.*/local/"`
|
|
|
|
if test "$loc" = "local"
|
|
|
|
then
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
name=`basename $file`
|
|
|
|
name=`echo $name | sed "s/\.\(.\{1,2\}\)\$/(\1)/"`
|
|
|
|
ed - $file > $TMPDIR/tmp.$$ <<!
|
|
|
|
/^.SH NAME/+p
|
|
|
|
q
|
|
|
|
!
|
|
|
|
desc=`line < $TMPDIR/tmp.$$`
|
|
|
|
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/$/./"`
|
|
|
|
if test -n "$desc"
|
|
|
|
then
|
|
|
|
echo $desc >> $TMPDIR/tocx$1
|
|
|
|
fi
|
|
|
|
rm -f $TMPDIR/tmp.$$
|
|
|
|
done
|
|
|
|
else case $1 in
|
|
|
|
all )
|
|
|
|
: tocx files for all sections and everything else
|
|
|
|
|
|
|
|
for x in 1 2 3 4 5 6 7 8
|
|
|
|
do
|
|
|
|
$0 $p $x $x
|
|
|
|
done
|
|
|
|
$0 $p t
|
|
|
|
;;
|
|
|
|
t )
|
|
|
|
: permuted index and toc files
|
|
|
|
|
|
|
|
if test ! -f $TMPDIR/tocx1
|
|
|
|
then
|
|
|
|
echo "tocrc: some tocx? files missing"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
cat $TMPDIR/tocx? > $TMPDIR/cattoc
|
|
|
|
ed - $TMPDIR/cattoc <<!
|
|
|
|
H
|
|
|
|
g/(1c)/s//(1C)/
|
|
|
|
g/(1m)/s//(1M)/
|
|
|
|
g/(1g)/s//(1G)/
|
|
|
|
g/(3c)/s//(3C)/
|
|
|
|
g/(3m)/s//(3M)/
|
|
|
|
g/(3s)/s//(3S)/
|
|
|
|
g/(3x)/s//(3X)/
|
|
|
|
g/"\."/d
|
|
|
|
w
|
|
|
|
q
|
|
|
|
!
|
|
|
|
ptx -r -t -b $TOOLS/break -f -w $P -i $TOOLS/ignore $TMPDIR/cattoc $MANDIR/man0/ptxx
|
|
|
|
for x in 1 2 3 4 5 6 7 8
|
|
|
|
do
|
|
|
|
ed - $TMPDIR/tocx$x << !
|
|
|
|
H
|
|
|
|
/^intro/m0
|
|
|
|
1,\$s/ .*://
|
|
|
|
1,\$s/.$//
|
|
|
|
1,\$s/([1-8][a-z]\{0,1\}) /" "/
|
|
|
|
1,\$s/.*/.xx "&"/
|
|
|
|
g/""/d
|
|
|
|
w $MANDIR/man0/toc$x
|
|
|
|
q
|
|
|
|
!
|
|
|
|
done
|
|
|
|
;;
|
|
|
|
* )
|
|
|
|
$0 $p $1 $1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|