]>
Commit | Line | Data |
---|---|---|
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 | ||
8 | DIR="/usr/share/docbook2X" | |
9 | SPEC=$DIR/docbook2man-spec.pl | |
10 | MKLINKS=$DIR/manpage_makelinks.pl | |
11 | ||
12 | ||
13 | if [ $# -eq 0 ]; then | |
14 | echo "$0: No input file given"; | |
15 | exit; | |
16 | fi | |
17 | if [ $# -gt 1 ]; then | |
18 | echo "$0: Too many arguments"; | |
19 | exit; | |
20 | fi | |
21 | ||
22 | if [ -x /usr/bin/onsgmls ]; then | |
23 | SP=onsgmls; | |
24 | else if [ -x /usr/bin/nsgmls ]; then | |
25 | SP=nsgmls; | |
26 | else | |
27 | echo "$0: SGML parser missing"; | |
28 | exit; | |
29 | fi | |
30 | fi | |
31 | ||
32 | rm -f manpage.links | |
33 | $SP <"$1" |sgmlspl $SPEC | |
34 | ||
35 | LANGM=`awk -v IGNORECASE=1 -v RS=">[^<>]*<" '/^refentry/ {if(i=index($0,"lang=")) print substr($0,i+6,2); exit}' $1` | |
36 | REFNAME=`awk -v IGNORECASE=1 -v RS="<\/?refname( [^>]*)?>" '{getline; print $0; exit}' $1` | |
37 | if [ -z "$REFNAME" ]; then | |
38 | echo "$0: <refname> element missing" | |
39 | exit; | |
40 | fi | |
41 | SECTION=`awk -v IGNORECASE=1 -v RS="<\/?manvolnum( [^>]*)?>" '{getline; print $0; exit}' $1` | |
42 | MAINFILE=${REFNAME}.${SECTION} | |
43 | ||
44 | if [ ! -f "$MAINFILE" ]; then | |
45 | echo "$0: Failed to convert manpage"; | |
46 | exit; | |
47 | fi | |
48 | ||
49 | # print main manpage name | |
50 | echo $MAINFILE | |
51 | ||
52 | case "$LANGM" in | |
53 | "pl" ) | |
54 | mv $MAINFILE $MAINFILE.tmp | |
55 | cat $MAINFILE.tmp |sed 's/^\.SH NAME$/\.SH NAZWA/' \ | |
56 |