mirror of
https://git.yoctoproject.org/poky
synced 2026-05-05 20:27:58 +02:00
asciidoc: specify XML catalogue to use
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 to point explicitly at the docbook-xml and docbook-xsl catalogues. This fixes either complete build failures (where the host doesn't have docbook-xml installed) or slow builds (where the host doesn't have docbook-xsl installed). (From OE-Core rev: efb6168e41797ad6ed00ede6f3d9141b90eff4b5) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
ac01686d91
commit
ffa5a1bda6
53
meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
Normal file
53
meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
If SGML_CATALOG_FILES is in the environment, pass --catalogs to xmllint and
|
||||
xsltproc. Also pass --nonet to xsltproc to detect future missing stylesheet
|
||||
problems.
|
||||
|
||||
An earlier version of this patch was filed upstream at
|
||||
https://github.com/asciidoc/asciidoc-py3/issues/61 so depending on how that goes
|
||||
this could get merged.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
diff --git a/a2x.py b/a2x.py
|
||||
index 2d7699a..582d809 100755
|
||||
--- a/a2x.py
|
||||
+++ b/a2x.py
|
||||
@@ -57,6 +57,10 @@ LYNX_OPTS = '-dump'
|
||||
W3M_OPTS = '-dump -cols 70 -T text/html -no-graph'
|
||||
XSLTPROC_OPTS = ''
|
||||
|
||||
+if "SGML_CATALOG_FILES" in os.environ:
|
||||
+ XMLLINT += " --catalogs"
|
||||
+ XSLTPROC += " --catalogs"
|
||||
+
|
||||
######################################################################
|
||||
# End of configuration file parameters.
|
||||
######################################################################
|
||||
@@ -298,7 +302,7 @@ def exec_xsltproc(xsl_file, xml_file, dst_dir, opts = ''):
|
||||
cwd = os.getcwd()
|
||||
shell_cd(dst_dir)
|
||||
try:
|
||||
- shell('"%s" %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
|
||||
+ shell('%s %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
|
||||
finally:
|
||||
shell_cd(cwd)
|
||||
|
||||
@@ -483,7 +487,7 @@ class A2X(AttrDict):
|
||||
self.asciidoc_opts += ' --doctype %s' % self.doctype
|
||||
for attr in self.attributes:
|
||||
self.asciidoc_opts += ' --attribute "%s"' % attr
|
||||
-# self.xsltproc_opts += ' --nonet'
|
||||
+ self.xsltproc_opts += ' --nonet'
|
||||
if self.verbose:
|
||||
self.asciidoc_opts += ' --verbose'
|
||||
self.dblatex_opts += ' -V'
|
||||
@@ -634,7 +638,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()
|
||||
@@ -8,14 +8,19 @@ 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}"
|
||||
|
||||
DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native"
|
||||
DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-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 file://${STAGING_ETCDIR_NATIVE}/xml/docbook-xsl.xml"
|
||||
|
||||
# Not using automake
|
||||
inherit autotools-brokensep
|
||||
CLEANBROKEN = "1"
|
||||
|
||||
Reference in New Issue
Block a user