summaryrefslogtreecommitdiffstats
path: root/share/man/tools/tocrc
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/tools/tocrc')
-rwxr-xr-xshare/man/tools/tocrc114
1 files changed, 114 insertions, 0 deletions
diff --git a/share/man/tools/tocrc b/share/man/tools/tocrc
new file mode 100755
index 0000000..1d50a05
--- /dev/null
+++ b/share/man/tools/tocrc
@@ -0,0 +1,114 @@
+MANDIR=/usr/man
+TMPDIR=/usr/man/tmp
+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
OpenPOWER on IntegriCloud