[OE-core] [PATCH] asciidoc: use local docbook XML catalogue
Ross Burton
ross.burton at intel.com
Tue Apr 2 15:25:12 UTC 2019
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