man: use xinclude to de-deduplicate common text

I only tested with python-lxml. I'm not sure if xml.etree should be
deprecated.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2014-02-12 00:55:38 -05:00
parent f366d58dc1
commit 21ac6ff143
10 changed files with 66 additions and 155 deletions

View File

@ -4645,7 +4645,7 @@ if ENABLE_MANPAGES
man/custom-entities.ent: man/custom-entities.ent:
$(AM_V_GEN)$(MKDIR_P) $(dir $@) $(AM_V_GEN)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)(echo '<?xml version="1.0" encoding="utf-8" ?>' && \ $(AM_V_GEN)(echo '<?xml version="1.0" encoding="utf-8" ?>' && \
echo '$(subst '|,<!ENTITY ,$(subst =, ",$(subst |',">,$(substitutions))))') \ printf '$(subst '|,<!ENTITY ,$(subst =, ",$(subst |',">\n,$(substitutions))))') \
> $@ # ' > $@ # '
DISTCLEANFILES += \ DISTCLEANFILES += \
@ -4653,6 +4653,7 @@ DISTCLEANFILES += \
XSLTPROC_FLAGS = \ XSLTPROC_FLAGS = \
--nonet \ --nonet \
--xinclude \
--stringparam man.output.quietly 1 \ --stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \ --stringparam funcsynopsis.style ansi \
--stringparam man.authors.section.enabled 0 \ --stringparam man.authors.section.enabled 0 \

View File

@ -21,7 +21,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="journalctl"> <refentry id="journalctl"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>journalctl</title> <title>journalctl</title>
@ -875,25 +876,7 @@
failure code is returned.</para> failure code is returned.</para>
</refsect1> </refsect1>
<refsect1> <xi:include href="less-variables.xml" />
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
<option>--no-pager</option> is not given;
overrides <varname>$PAGER</varname>. Setting
this to an empty string or the value
<literal>cat</literal> is equivalent to passing
<option>--no-pager</option>.</para></listitem>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para><varname>$SYSTEMD_LESS</varname> overrides the
default options passed to <literal>less</literal>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1> <refsect1>
<title>Examples</title> <title>Examples</title>

29
man/less-variables.xml Normal file
View File

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<refsect1>
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
<option>--no-pager</option> is not given;
overrides <varname>$PAGER</varname>. Setting
this to an empty string or the value
<literal>cat</literal> is equivalent to passing
<option>--no-pager</option>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para>Override the default
options passed to
<command>less</command>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>

View File

@ -21,7 +21,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="localectl" conditional='ENABLE_LOCALED'> <refentry id="localectl" conditional='ENABLE_LOCALED'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>localectl</title> <title>localectl</title>
@ -253,25 +254,7 @@
code otherwise.</para> code otherwise.</para>
</refsect1> </refsect1>
<refsect1> <xi:include href="less-variables.xml" />
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
<option>--no-pager</option> is not given;
overrides <varname>$PAGER</varname>. Setting
this to an empty string or the value
<literal>cat</literal> is equivalent to passing
<option>--no-pager</option>.</para></listitem>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para><varname>$SYSTEMD_LESS</varname> overrides the
default options passed to <literal>less</literal>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1> <refsect1>
<title>See Also</title> <title>See Also</title>

View File

@ -21,7 +21,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="loginctl" conditional='ENABLE_LOGIND'> <refentry id="loginctl" conditional='ENABLE_LOGIND'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>loginctl</title> <title>loginctl</title>
@ -474,25 +475,7 @@
code otherwise.</para> code otherwise.</para>
</refsect1> </refsect1>
<refsect1> <xi:include href="less-variables.xml" />
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
<option>--no-pager</option> is not given;
overrides <varname>$PAGER</varname>. Setting
this to an empty string or the value
<literal>cat</literal> is equivalent to passing
<option>--no-pager</option>.</para></listitem>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para><varname>$SYSTEMD_LESS</varname> overrides the
default options passed to <literal>less</literal>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1> <refsect1>
<title>See Also</title> <title>See Also</title>

View File

@ -21,7 +21,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="machinectl" conditional='ENABLE_MACHINED'> <refentry id="machinectl" conditional='ENABLE_MACHINED'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>machinectl</title> <title>machinectl</title>
@ -299,25 +300,7 @@
code otherwise.</para> code otherwise.</para>
</refsect1> </refsect1>
<refsect1> <xi:include href="less-variables.xml" />
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
<option>--no-pager</option> is not given;
overrides <varname>$PAGER</varname>. Setting
this to an empty string or the value
<literal>cat</literal> is equivalent to passing
<option>--no-pager</option>.</para></listitem>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para><varname>$SYSTEMD_LESS</varname> overrides the
default options passed to <literal>less</literal>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1> <refsect1>
<title>See Also</title> <title>See Also</title>

View File

@ -21,7 +21,8 @@ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="systemctl"> <refentry id="systemctl"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>systemctl</title> <title>systemctl</title>
@ -1465,27 +1466,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
code otherwise.</para> code otherwise.</para>
</refsect1> </refsect1>
<refsect1> <xi:include href="less-variables.xml" />
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem>
<para>Pager to use when <option>--no-pager</option> is not
given; overrides <varname>$PAGER</varname>. Setting this to
an empty string or the value <literal>cat</literal> is
equivalent to passing
<option>--no-pager</option>.</para>
</listitem>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para><varname>$SYSTEMD_LESS</varname> overrides the
default options passed to <literal>less</literal>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1> <refsect1>
<title>See Also</title> <title>See Also</title>

View File

@ -21,7 +21,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="systemd-analyze"> <refentry id="systemd-analyze"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>systemd-analyze</title> <title>systemd-analyze</title>
@ -321,27 +322,7 @@ $ eog targets.svg</programlisting>
</refsect1> </refsect1>
<refsect1> <xi:include href="less-variables.xml" />
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem>
<para>Pager to use when <option>--no-pager</option> is not
given; overrides <varname>$PAGER</varname>. Setting this to
an empty string or the value <literal>cat</literal> is
equivalent to passing
<option>--no-pager</option>.</para>
</listitem>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para><varname>$SYSTEMD_LESS</varname> overrides the
default options passed to <literal>less</literal>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1> <refsect1>
<title>See Also</title> <title>See Also</title>

View File

@ -21,7 +21,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="timedatectl" conditional='ENABLE_TIMEDATED'> <refentry id="timedatectl" conditional='ENABLE_TIMEDATED'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>timedatectl</title> <title>timedatectl</title>
@ -227,25 +228,7 @@
code otherwise.</para> code otherwise.</para>
</refsect1> </refsect1>
<refsect1> <xi:include href="less-variables.xml" />
<title>Environment</title>
<variablelist class='environment-variables'>
<varlistentry>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
<option>--no-pager</option> is not given;
overrides <varname>$PAGER</varname>. Setting
this to an empty string or the value
<literal>cat</literal> is equivalent to passing
<option>--no-pager</option>.</para></listitem>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para><varname>$SYSTEMD_LESS</varname> overrides the
default options passed to <literal>less</literal>
(<literal>FRSXMK</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1> <refsect1>
<title>Examples</title> <title>Examples</title>

View File

@ -17,19 +17,23 @@
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>. # along with systemd; If not, see <http://www.gnu.org/licenses/>.
from lxml import etree as tree
class CustomResolver(tree.Resolver):
def resolve(self, url, id, context):
if 'custom-entities.ent' in url:
return self.resolve_filename('man/custom-entities.ent', context)
try: try:
from lxml import etree as tree
class CustomResolver(tree.Resolver):
def resolve(self, url, id, context):
if 'custom-entities.ent' in url:
return self.resolve_filename('man/custom-entities.ent', context)
_parser = tree.XMLParser() _parser = tree.XMLParser()
_parser.resolvers.add(CustomResolver()) _parser.resolvers.add(CustomResolver())
xml_parse = lambda page: tree.parse(page, _parser) def xml_parse(page):
xml_print = lambda xml: tree.tostring(xml, pretty_print=True, doc = tree.parse(page, _parser)
encoding='utf-8') doc.xinclude()
return doc
def xml_print(xml):
return tree.tostring(xml, pretty_print=True, encoding='utf-8')
except ImportError: except ImportError:
import xml.etree.ElementTree as tree import xml.etree.ElementTree as tree
import re as _re import re as _re