4 # simple script that converts SGML-docbook references
5 # using Steve Cheng's docbooc2man-spec perl converter
6 # in case of <refentry lang="pl"> translates NAME and SYNOPSIS
8 DIR="/usr/share/docbook2X"
9 SPEC=$DIR/docbook2man-spec.pl
10 MKLINKS=$DIR/manpage_makelinks.pl
11 PROGNAME=`basename $0`
14 echo "$PROGNAME: No input file given";
18 echo "$PROGNAME: Too many arguments";
22 if [ -x /usr/bin/onsgmls ]; then
24 else if [ -x /usr/bin/nsgmls ]; then
27 echo "$PROGNAME: SGML parser missing";
32 if [ ! -f "$1" ]; then
33 echo "$PROGNAME: Unable to open file $1";
38 if [ -f manpage.links ]; then
39 echo "$PROGNAME: There is file \`manpage.links' in current dir. "\
40 "I need to create temporary file \`manpage.links'. Please remove "\
45 $SP "$1" |sgmlspl $SPEC
47 LANGM=`awk -v IGNORECASE=1 -v RS=">[^<>]*<" '/^refentry/ {if(i=index($0,"lang=")) print substr($0,i+6,2); exit}' $1`
48 REFNAME=`awk -v IGNORECASE=1 -v RS="<\/?refname( [^>]*)?>" '{getline; print $0; exit}' $1`
49 if [ -z "$REFNAME" ]; then
50 echo "$PROGNAME: <refname> element missing"
54 SECTION=`awk -v IGNORECASE=1 -v RS="<\/?manvolnum( [^>]*)?>" '{getline; print $0; exit}' $1`
55 MAINFILE=${REFNAME}.${SECTION}
57 if [ ! -f "$MAINFILE" ]; then
58 echo "$PROGNAME: Failed to convert manpage";
63 # print main manpage name
68 mv "$MAINFILE" $MAINFILE."$PROGNAME".tmp
69 cat "$MAINFILE"."$PROGNAME".tmp |sed 's/^\.SH NAME$/\.SH NAZWA/' \
70 |sed 's/^\.SH SYNOPSIS$/\.SH SKĀ£ADNIA/' >"$MAINFILE";
71 rm -f "$MAINFILE"."$PROGNAME".tmp;
75 # make man links if exist
76 $MKLINKS < manpage.links
77 awk '{print $2}' manpage.links
83 # Revision 1.3 2000/02/26 15:17:57 klakier
84 # - more test against missing arguments, files, etc
86 # Revision 1.2 2000/01/20 14:41:08 klakier
87 # - I forgot to commit it ... I dont remember
89 # Revision 1.1 1999/12/29 15:59:47 klakier
90 # - wrapper script for Steve Cheng's docbook2man-spec converter