#!/bin/sh # $Revision$, $Date$ # simple script that converts SGML-docbook references # using Steve Cheng's docbooc2man-spec perl converter # in case of translates NAME and SYNOPSIS DIR="/usr/share/docbook2X" SPEC=$DIR/docbook2man-spec.pl MKLINKS=$DIR/manpage_makelinks.pl PROGNAME=`basename $0` if [ $# -eq 0 ]; then echo "$PROGNAME: No input file given"; exit; fi if [ $# -gt 1 ]; then echo "$PROGNAME: Too many arguments"; exit; fi if [ -x /usr/bin/onsgmls ]; then SP=onsgmls; else if [ -x /usr/bin/nsgmls ]; then SP=nsgmls; else echo "$PROGNAME: SGML parser missing"; exit; fi fi if [ ! -f "$1" ]; then echo "$PROGNAME: Unable to open file $1"; exit; fi if [ -f manpage.links ]; then echo "$PROGNAME: There is file \`manpage.links' in current dir. "\ "I need to create temporary file \`manpage.links'. Please remove "\ "existing file." exit 2; fi $SP <"$1" |sgmlspl $SPEC LANGM=`awk -v IGNORECASE=1 -v RS=">[^<>]*<" '/^refentry/ {if(i=index($0,"lang=")) print substr($0,i+6,2); exit}' $1` REFNAME=`awk -v IGNORECASE=1 -v RS="<\/?refname( [^>]*)?>" '{getline; print $0; exit}' $1` if [ -z "$REFNAME" ]; then echo "$PROGNAME: element missing" rm -f manpage.links exit; fi SECTION=`awk -v IGNORECASE=1 -v RS="<\/?manvolnum( [^>]*)?>" '{getline; print $0; exit}' $1` MAINFILE=${REFNAME}.${SECTION} if [ ! -f "$MAINFILE" ]; then echo "$PROGNAME: Failed to convert manpage"; rm -f manpage.links exit; fi # print main manpage name echo "$MAINFILE" case "$LANGM" in "pl" ) mv "$MAINFILE" $MAINFILE."$PROGNAME".tmp cat "$MAINFILE"."$PROGNAME".tmp |sed 's/^\.SH NAME$/\.SH NAZWA/' \ |sed 's/^\.SH SYNOPSIS$/\.SH SKŁADNIA/' >"$MAINFILE"; rm -f "$MAINFILE"."$PROGNAME".tmp; ;; esac # make man links if exist $MKLINKS < manpage.links awk '{print $2}' manpage.links rm -f manpage.links # $Log$ # Revision 1.2 2000/01/20 14:41:08 klakier # - I forgot to commit it ... I dont remember # # Revision 1.1 1999/12/29 15:59:47 klakier # - wrapper script for Steve Cheng's docbook2man-spec converter #