diff --git a/doc/docbook.sh b/doc/docbook.sh index a9d498c..9e8ad1a 100755 --- a/doc/docbook.sh +++ b/doc/docbook.sh @@ -1,6 +1,6 @@ #!/bin/sh #$Id$ -#Copyright (c) 2012-2013 Pierre Pronchery +#Copyright (c) 2012-2014 Pierre Pronchery # #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are met: @@ -26,9 +26,10 @@ #variables PREFIX="/usr/local" -. "../config.sh" +[ -f "../config.sh" ] && . "../config.sh" #executables DEBUG="_debug" +FOP="fop" INSTALL="install -m 0644" MKDIR="mkdir -m 0755 -p" RM="rm -f" @@ -44,6 +45,53 @@ _debug() } +#docbook +_docbook() +{ + target="$1" + + source="${target%.*}.xml" + ext="${target##*.}" + ext="${ext##.}" + case "$ext" in + html) + XSL="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" + [ -f "${target%.*}.xsl" ] && XSL="${target%.*}.xsl" + $DEBUG $XSLTPROC -o "$target" "$XSL" "$source" + ;; + pdf) + XSL="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl" + [ -f "${target%.*}.xsl" ] && XSL="${target%.*}.xsl" + $DEBUG $XSLTPROC -o "${target%.*}.fo" "$XSL" "$source" && + $DEBUG $FOP -fo "${target%.*}.fo" -pdf "$target" + $RM -- "${target%.*}.fo" + ;; + 1|2|3|4|5|6|7|8|9) + XSL="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" + $DEBUG $XSLTPROC -o "$target" "$XSL" "$source" + ;; + *) + echo "$0: $target: Unknown type" 1>&2 + return 2 + ;; + esac + + if [ $? -ne 0 ]; then + echo "$0: $target: Could not create page" 1>&2 + $RM -- "$target" + return 2 + fi +} + + +#error +_error() +{ + echo "docbook.sh: $@" 1>&2 + return 2 +} + + #usage _usage() { @@ -84,25 +132,27 @@ if [ $# -eq 0 ]; then exit $? fi +#check the variables +if [ -z "$PACKAGE" ]; then + _error "The PACKAGE variable needs to be set" + exit $? +fi + [ -z "$DATADIR" ] && DATADIR="$PREFIX/share" [ -z "$MANDIR" ] && MANDIR="$DATADIR/man" while [ $# -gt 0 ]; do target="$1" - source="${target%.*}.xml" shift #determine the type ext="${target##*.}" ext="${ext##.}" case "$ext" in - html) - XSL="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" - [ -f "${target%.*}.xsl" ] && XSL="${target%.*}.xsl" + html|pdf) instdir="$DATADIR/doc/$ext/$PACKAGE" ;; 1|2|3|4|5|6|7|8|9) - XSL="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" instdir="$MANDIR/man$ext" ;; *) @@ -123,16 +173,11 @@ while [ $# -gt 0 ]; do #install if [ "$install" -eq 1 ]; then $DEBUG $MKDIR -- "$instdir" || exit 2 - $DEBUG $INSTALL -- "$target" "$instdir/$target" || exit 2 + $DEBUG $INSTALL "$target" "$instdir/$target" || exit 2 continue fi #create - $DEBUG $XSLTPROC -o "$target" "$XSL" "$source" #XXX ignore errors - if [ $? -ne 0 ]; then - echo "$0: $target: Could not create page" 1>&2 - $RM -- "$target" - break - fi + _docbook "$target" || break done diff --git a/po/gettext.sh b/po/gettext.sh index 4286018..d7d1962 100755 --- a/po/gettext.sh +++ b/po/gettext.sh @@ -1,6 +1,6 @@ #!/bin/sh #$Id$ -#Copyright (c) 2010-2013 Pierre Pronchery +#Copyright (c) 2010-2014 Pierre Pronchery # #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are met: @@ -26,7 +26,7 @@ #variables PREFIX="/usr/local" -. "../config.sh" +[ -f "../config.sh" ] && . "../config.sh" LOCALEDIR="$PREFIX/share/locale" POTFILES="POTFILES" #executables @@ -49,6 +49,14 @@ _debug() } +#error +_error() +{ + echo "gettext.sh: $@" 1>&2 + return 2 +} + + #usage _usage() { @@ -125,6 +133,12 @@ if [ $# -eq 0 ]; then exit $? fi +#check the variables +if [ -z "$PACKAGE" ]; then + _error "The PACKAGE variable needs to be set" + exit $? +fi + LOCALEDIR="$PREFIX/share/locale" while [ $# -gt 0 ]; do target="$1"