[OE-core] [PATCH] asciidoc: use local docbook XML catalogue
Burton, Ross
ross.burton at intel.com
Tue Apr 2 16:37:14 UTC 2019
Retracting this: it then goes and downloads the xsl stylesheets during
do_compile, which is slow and networking during a non-network phase.
Easier hack incoming.
Ross
On Tue, 2 Apr 2019 at 16:25, Ross Burton <ross.burton at intel.com> wrote:
>
> libxml-native by default uses a XML catalogue at /etc/xml/catalog, instead of
> the one in the sysroot. Until this is fixed (#13260) override the XML catalogue
> manually in the recipe.
>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
> .../asciidoc/asciidoc/auto-catalogs.patch | 27 ++++++++++++++++++++++
> meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb | 7 +++++-
> 2 files changed, 33 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
>
> diff --git a/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch b/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
> new file mode 100644
> index 00000000000..f507080cd3c
> --- /dev/null
> +++ b/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
> @@ -0,0 +1,27 @@
> +If SGML_CATALOG_FILES is in the environment, pass --catalogs to xmllint.
> +
> +Upstream-Status: Submitted [https://github.com/asciidoc/asciidoc-py3/issues/61]
> +Signed-off-by: Ross Burton <ross.burton at intel.com>
> +
> +diff --git a/a2x.py b/a2x.py
> +index 2d7699a..5bb995f 100755
> +--- a/a2x.py
> ++++ b/a2x.py
> +@@ -47,6 +47,8 @@ FOP = 'fop' # pdf generation (--fop option).
> + W3M = 'w3m' # primary text file generator.
> + LYNX = 'lynx' # alternate text file generator.
> + XMLLINT = 'xmllint' # Set to '' to disable.
> ++if "SGML_CATALOG_FILES" in os.environ:
> ++ XMLLINT += " --catalogs"
> + EPUBCHECK = 'epubcheck' # Set to '' to disable.
> + # External executable default options.
> + ASCIIDOC_OPTS = ''
> +@@ -634,7 +636,7 @@ class A2X(AttrDict):
> + shell('"%s" --backend docbook -a "a2x-format=%s" %s --out-file "%s" "%s"' %
> + (self.asciidoc, self.format, self.asciidoc_opts, docbook_file, self.asciidoc_file))
> + if not self.no_xmllint and XMLLINT:
> +- shell('"%s" --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
> ++ shell('%s --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
> +
> + def to_xhtml(self):
> + self.to_docbook()
> diff --git a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb b/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
> index d0d15171ac4..88ee93bfc10 100644
> --- a/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
> +++ b/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
> @@ -8,7 +8,8 @@ LICENSE = "GPLv2"
> LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
> file://COPYRIGHT;md5=029ad5428ba5efa20176b396222d4069"
>
> -SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https"
> +SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https \
> + file://auto-catalogs.patch"
> SRCREV = "618f6e6f6b558ed1e5f2588cd60a5a6b4f881ca0"
> PV .= "+py3-git${SRCPV}"
>
> @@ -16,6 +17,10 @@ DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native"
>
> S = "${WORKDIR}/git"
>
> +# Tell xmllint where to find the DocBook XML catalogue, because right now it
> +# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
> +export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/docbook-xml.xml"
> +
> # Not using automake
> inherit autotools-brokensep
> CLEANBROKEN = "1"
> --
> 2.11.0
>
More information about the Openembedded-core
mailing list