]> git.pld-linux.org Git - packages/docbook2X.git/blame - docbook2X-docbook2man
- patch to provide translating NAME and SYNOPSIS for <refentry lang="pl">
[packages/docbook2X.git] / docbook2X-docbook2man
CommitLineData
f328cbc3 1#!/bin/sh
2# $Revision$, $Date$
3
4# simple script that converts SGML-docbook references
e23d8b5f 5# using Steve Cheng's docbooc2man-spec perl converter
f328cbc3 6# in case of <refentry lang="pl"> translates NAME and SYNOPSIS
7
8DIR="/usr/share/docbook2X"
9SPEC=$DIR/docbook2man-spec.pl
10MKLINKS=$DIR/manpage_makelinks.pl
35ff5da8 11PROGNAME=`basename $0`
f328cbc3 12
13if [ $# -eq 0 ]; then
35ff5da8 14 echo "$PROGNAME: No input file given";
f328cbc3 15 exit;
16fi
17if [ $# -gt 1 ]; then
35ff5da8 18 echo "$PROGNAME: Too many arguments";
f328cbc3 19 exit;
20fi
21
22if [ -x /usr/bin/onsgmls ]; then
23 SP=onsgmls;
24else if [ -x /usr/bin/nsgmls ]; then
25 SP=nsgmls;
26else
35ff5da8 27 echo "$PROGNAME: SGML parser missing";
f328cbc3 28 exit;
29fi
30fi
31
35ff5da8 32if [ ! -f "$1" ]; then
33 echo "$PROGNAME: Unable to open file $1";
34 exit;
35fi
36
37
38if [ -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 "\
41 "existing file."
42 exit 2;
43fi
44
d0ba8439 45$SP "$1" |sgmlspl $SPEC
f328cbc3 46
47LANGM=`awk -v IGNORECASE=1 -v RS=">[^<>]*<" '/^refentry/ {if(i=index($0,"lang=")) print substr($0,i+6,2); exit}' $1`
48REFNAME=`awk -v IGNORECASE=1 -v RS="<\/?refname( [^>]*)?>" '{getline; print $0; exit}' $1`
49if [ -z "$REFNAME" ]; then
35ff5da8 50 echo "$PROGNAME: <refname> element missing"
51 rm -f manpage.links
f328cbc3 52 exit;
53fi
54SECTION=`awk -v IGNORECASE=1 -v RS="<\/?manvolnum( [^>]*)?>" '{getline; print $0; exit}' $1`
55MAINFILE=${REFNAME}.${SECTION}
56
57if [ ! -f "$MAINFILE" ]; then
35ff5da8 58 echo "$PROGNAME: Failed to convert manpage";
59 rm -f manpage.links
f328cbc3 60 exit;
61fi
62
63# print main manpage name
35ff5da8 64echo "$MAINFILE"
f328cbc3 65
66case "$LANGM" in
67 "pl" )
35ff5da8 68 mv "$MAINFILE" $MAINFILE."$PROGNAME".tmp
69 cat "$MAINFILE"."$PROGNAME".tmp |sed 's/^\.SH NAME$/\.SH NAZWA/' \
70