Initial commit
This commit is contained in:
@@ -0,0 +1,385 @@
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index cbbe124..496f993 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -68,7 +68,7 @@ EXTRA_DIST = xmlto.spec \
|
||||
doc/xmlif.xml \
|
||||
xmlto.mak
|
||||
|
||||
-GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(XMLTO_BASH_PATH) ./xmlto --skip-validation -o $(@D) man $<
|
||||
+GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(XMLTO_SH_PATH) ./xmlto --skip-validation -o $(@D) man $<
|
||||
man/man1/xmlto.1: doc/xmlto.xml ; $(GEN_MANPAGE)
|
||||
man/man1/xmlif.1: doc/xmlif.xml ; $(GEN_MANPAGE)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 675dcb8..e5e3b7a 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -18,8 +18,11 @@ AC_CHECK_PROG([MKTEMP], [mktemp],, [mktemp])
|
||||
AC_ARG_VAR([FIND], [Name of the GNU `find' program.])
|
||||
AC_CHECK_PROG([FIND], [find],, [find] )
|
||||
|
||||
-AC_ARG_VAR([XMLTO_BASH_PATH], [Name and path of the GNU `bash' shell.])
|
||||
-AC_PATH_PROG([XMLTO_BASH_PATH], [bash], [/bin/bash])
|
||||
+AC_ARG_VAR([XMLTO_SH_PATH], [Name and path of the POSIX `sh' shell.])
|
||||
+AC_ARG_VAR([XMLTO_BASH_PATH], [Deprecated alias for XMLTO_SH_PATH.])
|
||||
+AS_IF([test -n "$XMLTO_BASH_PATH" && test -z "$XMLTO_SH_PATH"],
|
||||
+ [XMLTO_SH_PATH=$XMLTO_BASH_PATH])
|
||||
+AC_PATH_PROG([XMLTO_SH_PATH], [sh], [/bin/sh])
|
||||
|
||||
AC_ARG_VAR([GETOPT], [Name of the `getopt' program (requires longopt support).])
|
||||
AC_CHECK_PROG([GETOPT], [getopt],, [getopt])
|
||||
diff --git a/format/docbook/epub b/format/docbook/epub
|
||||
index 118d605..7acf1d4 100755
|
||||
--- a/format/docbook/epub
|
||||
+++ b/format/docbook/epub
|
||||
@@ -1,4 +1,4 @@
|
||||
-if [ -z "`type -t $ZIP_PATH`" ]
|
||||
+if ! command -v "$ZIP_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 "Missing zip utility at $ZIP_PATH, conversion to epub not possible."
|
||||
echo >&2 "Exiting !"
|
||||
@@ -26,7 +26,7 @@ case "$1" in
|
||||
do
|
||||
${GCP_PATH:-cp} -R -P -p -- $INPUT_DIR/$CSS_SOURCE $CSS_DEST_DIR/
|
||||
done
|
||||
- echo -n "application/epub+zip" > mimetype
|
||||
+ printf '%s' 'application/epub+zip' > mimetype
|
||||
EPUB_NAME=$(basename "${XSLT_PROCESSED%.*}").epub
|
||||
[ -e "$XSLT_PROCESSED" ] && rm "$XSLT_PROCESSED"
|
||||
${ZIP_PATH} -0Xq $EPUB_NAME mimetype
|
||||
diff --git a/format/docbook/txt b/format/docbook/txt
|
||||
index fe42a1f..f356b47 100755
|
||||
--- a/format/docbook/txt
|
||||
+++ b/format/docbook/txt
|
||||
@@ -1,14 +1,14 @@
|
||||
case "$USE_BACKEND" in
|
||||
DEFAULT|DBLATEX)
|
||||
- if [ -n "`type -t $W3M_PATH`" ]
|
||||
+ if command -v "$W3M_PATH" >/dev/null 2>&1
|
||||
then
|
||||
CONVERT="$W3M_PATH"
|
||||
ARGS="-T text/html -dump"
|
||||
- elif [ -n "`type -t $LYNX_PATH`" ]
|
||||
+ elif command -v "$LYNX_PATH" >/dev/null 2>&1
|
||||
then
|
||||
CONVERT="$LYNX_PATH"
|
||||
ARGS="-force_html -dump -nolist -width=72"
|
||||
- elif [ -n "`type -t $LINKS_PATH`" ]
|
||||
+ elif command -v "$LINKS_PATH" >/dev/null 2>&1
|
||||
then
|
||||
CONVERT="$LINKS_PATH"
|
||||
ARGS="-dump"
|
||||
diff --git a/format/fo/dvi b/format/fo/dvi
|
||||
index 6615048..82794cc 100755
|
||||
--- a/format/fo/dvi
|
||||
+++ b/format/fo/dvi
|
||||
@@ -6,7 +6,7 @@ post-process)
|
||||
then
|
||||
echo >&2 "Post-process XSL-FO to DVI"
|
||||
fi
|
||||
- if [ -z "`type -t $XMLTEX_PATH`" ]
|
||||
+ if ! command -v "$XMLTEX_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 "Can't process, xmltex tool not found at $XMLTEX_PATH."
|
||||
exit 3
|
||||
diff --git a/format/fo/pdf b/format/fo/pdf
|
||||
index 9e586b3..63936eb 100755
|
||||
--- a/format/fo/pdf
|
||||
+++ b/format/fo/pdf
|
||||
@@ -8,7 +8,7 @@ DEFAULT|DBLATEX)
|
||||
then
|
||||
echo >&2 "Post-process XSL-FO to PDF"
|
||||
fi
|
||||
- if [ -z "`type -t $PDFXMLTEX_PATH`" ]
|
||||
+ if ! command -v "$PDFXMLTEX_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 "Can't process, pdfxmltex tool not found at $PDFXMLTEX_PATH."
|
||||
exit 3
|
||||
diff --git a/format/xhtml1/txt b/format/xhtml1/txt
|
||||
index eb1c07a..2c843c2 100755
|
||||
--- a/format/xhtml1/txt
|
||||
+++ b/format/xhtml1/txt
|
||||
@@ -1,14 +1,14 @@
|
||||
case "$USE_BACKEND" in
|
||||
DEFAULT|DBLATEX)
|
||||
- if [ -n "`type -t $W3M_PATH`" ]
|
||||
+ if command -v "$W3M_PATH" >/dev/null 2>&1
|
||||
then
|
||||
CONVERT="$W3M_PATH"
|
||||
ARGS="-T text/html -dump"
|
||||
- elif [ -n "`type -t $LYNX_PATH`" ]
|
||||
+ elif command -v "$LYNX_PATH" >/dev/null 2>&1
|
||||
then
|
||||
CONVERT="$LYNX_PATH"
|
||||
ARGS="-force_html -dump -nolist -width=72"
|
||||
- elif [ -n "`type -t $LINKS_PATH`" ]
|
||||
+ elif command -v "$LINKS_PATH" >/dev/null 2>&1
|
||||
then
|
||||
CONVERT="$LINKS_PATH"
|
||||
ARGS="-dump"
|
||||
diff --git a/xmlif/test/run-test b/xmlif/test/run-test
|
||||
index a7ddbca..f007928 100755
|
||||
--- a/xmlif/test/run-test
|
||||
+++ b/xmlif/test/run-test
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
XMLIF=${top_builddir}/xmlif/xmlif
|
||||
INPUT=${top_srcdir}/xmlif/test/test.xml
|
||||
diff --git a/xmlto.in b/xmlto.in
|
||||
index d5a81a8..f75bfe3 100755
|
||||
--- a/xmlto.in
|
||||
+++ b/xmlto.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!@XMLTO_BASH_PATH@
|
||||
+#!@XMLTO_SH_PATH@
|
||||
#
|
||||
# @PACKAGE@ - apply an XSL stylesheet to an XML document
|
||||
# Copyright (C) 2001, 2002, 2003 Tim Waugh <twaugh@redhat.com>
|
||||
@@ -19,7 +19,7 @@
|
||||
# Utilities that we need that aren't everywhere
|
||||
FIND=@FIND@ # This must be GNU find (need -maxdepth)
|
||||
MKTEMP=@MKTEMP@ # See http://www.mktemp.org if missing on your system
|
||||
-BASH=@XMLTO_BASH_PATH@ # GNU bash, for running the format scripts
|
||||
+SH=@XMLTO_SH_PATH@ # POSIX sh, for running the format scripts
|
||||
GETOPT=@GETOPT@ # a getopt that supports --longoptions
|
||||
TAIL=@TAIL@ # a tail that supports -n (posix)
|
||||
GREP=@GREP@ # GNU grep, for searching patterns
|
||||
@@ -78,28 +78,41 @@ EOF
|
||||
# * Remembers the temporary file's name so it can be deleted on exit
|
||||
# * If the failure message is empty or missing, exits on failure
|
||||
make_temp () {
|
||||
- local dirflag="" prefix="@PACKAGE@"
|
||||
- [ "$1" = "-d" ] && { dirflag="-d"; shift; }
|
||||
- [ -n "$1" ] && prefix="@PACKAGE@-$1"
|
||||
+ make_temp_dirflag=
|
||||
+ make_temp_prefix="@PACKAGE@"
|
||||
+ if [ "$1" = "-d" ]
|
||||
+ then
|
||||
+ make_temp_dirflag="-d"
|
||||
+ shift
|
||||
+ fi
|
||||
+ if [ -n "$1" ]
|
||||
+ then
|
||||
+ make_temp_prefix="@PACKAGE@-$1"
|
||||
+ fi
|
||||
|
||||
- if eval $2='$(${MKTEMP} $dirflag "${TMPDIR:-/tmp}/${prefix}.XXXXXX")'
|
||||
+ if eval "$2=\$(${MKTEMP} $make_temp_dirflag \"\${TMPDIR:-/tmp}/${make_temp_prefix}.XXXXXX\")"
|
||||
then
|
||||
- CLEANFILES="$CLEANFILES ${!2}"
|
||||
+ eval "make_temp_path=\${$2}"
|
||||
+ CLEANFILES="$CLEANFILES $make_temp_path"
|
||||
+ unset make_temp_dirflag make_temp_path make_temp_prefix
|
||||
return 0
|
||||
elif [ -z "$3" ]
|
||||
then
|
||||
+ unset make_temp_dirflag make_temp_prefix
|
||||
echo >&2 "mktemp failed!"
|
||||
exit 2
|
||||
else
|
||||
+ unset make_temp_dirflag make_temp_prefix
|
||||
echo >&2 "mktemp failed. $3"
|
||||
return 2
|
||||
fi
|
||||
}
|
||||
|
||||
compute_searchpath () {
|
||||
- local oldIFS="${IFS}"
|
||||
+ compute_searchpath_oldIFS="${IFS}"
|
||||
IFS=":"
|
||||
- for asearchpath in "$1"; do
|
||||
+ for asearchpath in $1
|
||||
+ do
|
||||
# wrangle relative paths into absolute ones so that the user
|
||||
# isn't surprised if he does ``--searchpath .''
|
||||
case "${asearchpath}" in
|
||||
@@ -111,7 +124,8 @@ compute_searchpath () {
|
||||
# and only after the first iteration.
|
||||
XML_SEARCHPATH_SEPARATOR=":"
|
||||
done
|
||||
- IFS="${oldIFS}"
|
||||
+ IFS="${compute_searchpath_oldIFS}"
|
||||
+ unset compute_searchpath_oldIFS
|
||||
}
|
||||
|
||||
# Allow FORMAT_DIR to be over-ridden, so that we can be
|
||||
@@ -135,7 +149,7 @@ XSL_MODS=
|
||||
|
||||
# List of files to remove after exit
|
||||
CLEANFILES=
|
||||
-trap -- 'cd /; [ -z "$CLEANFILES" ] || rm -rf $CLEANFILES' EXIT
|
||||
+trap 'cd /; [ -z "$CLEANFILES" ] || rm -rf $CLEANFILES' 0
|
||||
|
||||
XSLTOPTS=
|
||||
SEARCHPATH=
|
||||
@@ -145,13 +159,13 @@ XMLLINT_PATH=@XMLLINT@
|
||||
XSLTPROC_PATH=@XSLTPROC@
|
||||
|
||||
# Try to setup papersize using libpaper first ...
|
||||
-if type "$PAPERCONF_PATH" >/dev/null 2>&1
|
||||
+if command -v "$PAPERCONF_PATH" >/dev/null 2>&1
|
||||
then
|
||||
papername=`"$PAPERCONF_PATH" -n`
|
||||
paperheight=`"$PAPERCONF_PATH" -mh | sed 's/ //g'`
|
||||
paperwidth=`"$PAPERCONF_PATH" -mw | sed 's/ //g'`
|
||||
|
||||
- if [ -n "$paperheight" -a -n "$paperwidth" ]
|
||||
+ if [ -n "$paperheight" ] && [ -n "$paperwidth" ]
|
||||
then
|
||||
make_temp xsl papersizemod "Using default paper type." &&
|
||||
cat << EOF > "$papersizemod"
|
||||
@@ -176,7 +190,7 @@ EOF
|
||||
fi
|
||||
|
||||
# ... or use magic paper size, based on LC_PAPER
|
||||
-elif type "$LOCALE_PATH" >/dev/null 2>&1
|
||||
+elif command -v "$LOCALE_PATH" >/dev/null 2>&1
|
||||
then
|
||||
# For paper sizes we know about, specify them.
|
||||
h=$("$LOCALE_PATH" LC_PAPER 2>/dev/null | head -n 1)
|
||||
@@ -199,7 +213,7 @@ EOF
|
||||
fi
|
||||
|
||||
# Magic encoding, based on locale
|
||||
-if type "$LOCALE_PATH" >/dev/null 2>&1
|
||||
+if command -v "$LOCALE_PATH" >/dev/null 2>&1
|
||||
then
|
||||
charmap=$("$LOCALE_PATH" charmap 2>/dev/null)
|
||||
|
||||
@@ -249,12 +263,12 @@ XMLTEX_PATH=@XMLTEX@
|
||||
PDFXMLTEX_PATH=@PDFXMLTEX@
|
||||
|
||||
#check if we could use fop/dblatex backend as default(if not, use passivetex)
|
||||
-if [ x"$USE_BACKEND" = xFOP ] && ! type "$FOP_PATH" >/dev/null 2>&1
|
||||
+if [ x"$USE_BACKEND" = xFOP ] && ! command -v "$FOP_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 "@PACKAGE@: Warning: fop not found or not executable."
|
||||
echo >&2 "@PACKAGE@: Using default backend..."
|
||||
USE_BACKEND=DEFAULT
|
||||
-elif type "$FOP_PATH" >/dev/null 2>&1
|
||||
+elif command -v "$FOP_PATH" >/dev/null 2>&1
|
||||
then
|
||||
# we should enable fop.extensions for fop 0_17,0_18 and 0_20*,
|
||||
# fop1.extensions for the rest
|
||||
@@ -265,7 +279,7 @@ then
|
||||
fi
|
||||
fi
|
||||
if [ x"$USE_BACKEND" = xDBLATEX ] && \
|
||||
- ! type "$DBLATEX_PATH" >/dev/null 2>&1
|
||||
+ ! command -v "$DBLATEX_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 "@PACKAGE@: Warning: dblatex not found or not executable."
|
||||
echo >&2 "@PACKAGE@: Using default backend..."
|
||||
@@ -315,7 +329,7 @@ while [ "$#" -gt "0" ]; do
|
||||
;;
|
||||
-o)
|
||||
OUTPUT_DIR="$2"
|
||||
- if type -p cygpath >/dev/null; then
|
||||
+ if command -v cygpath >/dev/null 2>&1; then
|
||||
OUTPUT_DIR=$(cygpath "$OUTPUT_DIR")
|
||||
fi
|
||||
case "$OUTPUT_DIR" in
|
||||
@@ -362,7 +376,7 @@ while [ "$#" -gt "0" ]; do
|
||||
shift 2
|
||||
;;
|
||||
--noclean)
|
||||
- trap -- 'cd /; [ -z "$CLEANFILES" ] || echo "$CLEANFILES"' EXIT
|
||||
+ trap 'cd /; [ -z "$CLEANFILES" ] || echo "$CLEANFILES"' 0
|
||||
shift
|
||||
;;
|
||||
--noautosize)
|
||||
@@ -371,7 +385,7 @@ while [ "$#" -gt "0" ]; do
|
||||
;;
|
||||
--with-fop)
|
||||
##use fop instead of passivetex where possible
|
||||
- if ! type "$FOP_PATH" >/dev/null 2>&1
|
||||
+ if ! command -v "$FOP_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 Warning: fop not found or not executable.
|
||||
echo >&2 Using default backend...
|
||||
@@ -382,7 +396,7 @@ while [ "$#" -gt "0" ]; do
|
||||
;;
|
||||
--with-dblatex)
|
||||
##use dblatex instead of passivetex where possible
|
||||
- if ! type "$DBLATEX_PATH" >/dev/null 2>&1
|
||||
+ if ! command -v "$DBLATEX_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 Warning: dblatex not found or not executable.
|
||||
echo >&2 Using default backend...
|
||||
@@ -426,7 +440,7 @@ case "$2" in
|
||||
*) INPUT_FILE="$PWD/$2" ;;
|
||||
esac
|
||||
|
||||
-if [ -z "$DEST_FORMAT" -o -z "$INPUT_FILE" ]
|
||||
+if [ -z "$DEST_FORMAT" ] || [ -z "$INPUT_FILE" ]
|
||||
then
|
||||
usage
|
||||
exit 1
|
||||
@@ -454,7 +468,7 @@ rootel_xpath='concat("{", namespace-uri(/*), "}", local-name(/*))'
|
||||
rootel="$("$XMLLINT_PATH" --xpath "$rootel_xpath" "$INPUT_FILE" 2>/dev/null)"
|
||||
|
||||
|
||||
-case $(echo $rootel) in
|
||||
+case $rootel in
|
||||
"{http://www.w3.org/1999/XSL/Format}root")
|
||||
SOURCE_FORMAT="fo"
|
||||
;;
|
||||
@@ -498,13 +512,13 @@ export PDFXMLTEX_PATH
|
||||
export USE_BACKEND
|
||||
if [ -z "$STYLESHEET" ]
|
||||
then
|
||||
- STYLESHEET="$(${BASH} "$FORMAT" stylesheet)" || exit 1
|
||||
+ STYLESHEET="$(${SH} "$FORMAT" stylesheet)" || exit 1
|
||||
[ "$VERBOSE" -ge 1 ] && echo >&2 "Stylesheet: ${STYLESHEET}"
|
||||
fi
|
||||
|
||||
# We might need to create a temporary stylesheet if there are
|
||||
# XSL fragments that need adding.
|
||||
-if [ -n "$XSL_MODS" -a -n "$STYLESHEET" ]
|
||||
+if [ -n "$XSL_MODS" ] && [ -n "$STYLESHEET" ]
|
||||
then
|
||||
REAL_STYLESHEET="$STYLESHEET"
|
||||
[ "$VERBOSE" -ge 1 ] && echo >&2 "Real stylesheet: ${REAL_STYLESHEET}"
|
||||
@@ -536,7 +550,7 @@ cd "$XSLT_PROCESSED_DIR"
|
||||
if [ "$SKIP_VALIDATION" -eq 0 ] && [ "$SOURCE_FORMAT" != "fo" ]
|
||||
then
|
||||
#do we have xmllint validation tool?
|
||||
- if ! type "$XMLLINT_PATH" >/dev/null 2>&1
|
||||
+ if ! command -v "$XMLLINT_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 "@PACKAGE@: xmllint validation tool not found or not executable."
|
||||
echo >&2 "@PACKAGE@: Skipping validation... " \
|
||||
@@ -572,7 +586,7 @@ XSLTOPTS="${XSLTPARAMS} ${XSLTOPTS}"
|
||||
if [ "$PROFILE" -eq 1 ] || [ -n "${STYLESHEET}" ]
|
||||
then
|
||||
#do we have xsltproc tool?
|
||||
- if ! type "$XSLTPROC_PATH" >/dev/null 2>&1
|
||||
+ if ! command -v "$XSLTPROC_PATH" >/dev/null 2>&1
|
||||
then
|
||||
echo >&2 "@PACKAGE@: Can't continue, xsltproc tool not found or not executable."
|
||||
exit 3
|
||||
@@ -653,6 +667,6 @@ export SEARCHPATH
|
||||
if [ "$VERBOSE" -gt 2 ]
|
||||
then
|
||||
# Extremely verbose
|
||||
- BASH="${BASH} -x"
|
||||
+ SH="${SH} -x"
|
||||
fi
|
||||
-${BASH} "$FORMAT" post-process || exit 1
|
||||
+${SH} "$FORMAT" post-process || exit 1
|
||||
diff --git a/xmlto.spec.in b/xmlto.spec.in
|
||||
index b9eb4a2..763f76d 100644
|
||||
--- a/xmlto.spec.in
|
||||
+++ b/xmlto.spec.in
|
||||
@@ -57,7 +57,7 @@ xhtml1 source format.
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
-%configure BASH=/bin/bash
|
||||
+%configure XMLTO_SH_PATH=/bin/sh
|
||||
%make_build
|
||||
|
||||
%check
|
||||
@@ -0,0 +1,24 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
build = ["docbook-xsl"]
|
||||
runtime = ["libxslt"]
|
||||
|
||||
[package]
|
||||
description = "Convert xml to many other formats"
|
||||
homepage = "https://pagure.io/xmlto/"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "xmlto"
|
||||
version = "0.0.29"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
patches = ["xmlto-0.0.29-posixify.patch"]
|
||||
sha256 = "40504db68718385a4eaa9154a28f59e51e59d006d1aa14f5bc9d6fded1d6017a"
|
||||
url = "https://pagure.io/xmlto/archive/$version/xmlto-$version.tar.gz"
|
||||
post_extract = [ "autoreconf -fiv" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "xmlto-0.0.29-posixify.patch"
|
||||
sha256 = "b2:dae98bb8abac15167f0b8f0d94688e194ea5ddca694eab0b786919a5422da663f3e339d42834d902a59adec56ecf61361e03c6ba2983e5e82d56e0296d6ba019"
|
||||
Reference in New Issue
Block a user