mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-26 17:25:34 +03:00
build-sys: make lxml required when generating indices
Since the manpage indices generated without lxml would be missing some parts, it doesn't make sense to keep lxml optional anymore.
This commit is contained in:
parent
feef0842cf
commit
32dcef3ab1
2
README
2
README
@ -133,8 +133,8 @@ REQUIREMENTS:
|
|||||||
gperf
|
gperf
|
||||||
gtkdocize (optional)
|
gtkdocize (optional)
|
||||||
python (optional)
|
python (optional)
|
||||||
|
python-lxml (optional, but required to build the indices)
|
||||||
sphinx (optional)
|
sphinx (optional)
|
||||||
python-lxml (entirely optional)
|
|
||||||
|
|
||||||
When systemd-hostnamed is used, it is strongly recommended to
|
When systemd-hostnamed is used, it is strongly recommended to
|
||||||
install nss-myhostname to ensure that, in a world of
|
install nss-myhostname to ensure that, in a world of
|
||||||
|
@ -188,9 +188,11 @@ have_python=no
|
|||||||
AC_ARG_WITH([python],
|
AC_ARG_WITH([python],
|
||||||
[AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])])
|
[AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])])
|
||||||
|
|
||||||
|
have_lxml=no
|
||||||
AS_IF([test "x$with_python" != "xno"], [
|
AS_IF([test "x$with_python" != "xno"], [
|
||||||
AM_PATH_PYTHON(,, [:])
|
AM_PATH_PYTHON(,, [:])
|
||||||
AS_IF([test "$PYTHON" != :], [have_python=yes])
|
AS_IF(["$PYTHON" -c 'import lxml' 2>/dev/null], [have_lxml=yes], [have_lxml=no])
|
||||||
|
AS_IF([test "$PYTHON" != : -a $have_lxml = yes], [have_python=yes])
|
||||||
])
|
])
|
||||||
AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
|
AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
|
||||||
AS_IF([test "x$PYTHON_BINARY" = "x"],
|
AS_IF([test "x$PYTHON_BINARY" = "x"],
|
||||||
|
@ -24,22 +24,11 @@ class CustomResolver(tree.Resolver):
|
|||||||
if 'custom-entities.ent' in url:
|
if 'custom-entities.ent' in url:
|
||||||
return self.resolve_filename('man/custom-entities.ent', context)
|
return self.resolve_filename('man/custom-entities.ent', context)
|
||||||
|
|
||||||
try:
|
_parser = tree.XMLParser()
|
||||||
_parser = tree.XMLParser()
|
_parser.resolvers.add(CustomResolver())
|
||||||
_parser.resolvers.add(CustomResolver())
|
def xml_parse(page):
|
||||||
def xml_parse(page):
|
doc = tree.parse(page, _parser)
|
||||||
doc = tree.parse(page, _parser)
|
doc.xinclude()
|
||||||
doc.xinclude()
|
return doc
|
||||||
return doc
|
def xml_print(xml):
|
||||||
def xml_print(xml):
|
return tree.tostring(xml, pretty_print=True, encoding='utf-8')
|
||||||
return tree.tostring(xml, pretty_print=True, encoding='utf-8')
|
|
||||||
|
|
||||||
except ImportError:
|
|
||||||
import xml.etree.ElementTree as tree
|
|
||||||
import re as _re
|
|
||||||
import io as _io
|
|
||||||
|
|
||||||
def xml_parse(page):
|
|
||||||
s = _re.sub(b'&[a-zA-Z0-9_]+;', b'', open(page, 'rb').read())
|
|
||||||
return tree.parse(_io.BytesIO(s))
|
|
||||||
xml_print = lambda xml: tree.tostring(xml, encoding='utf-8')
|
|
||||||
|
Loading…
Reference in New Issue
Block a user