summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-02-12 00:55:38 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-02-12 01:10:31 -0500
commit21ac6ff143cc8bebfbd1818af28e8c6f82cd5265 (patch)
treea61fe8976bb0253d567db8621f3cb7de6d378aa2
parentf366d58dc1fe51b300167446597750d29687c3c5 (diff)
man: use xinclude to de-deduplicate common text
I only tested with python-lxml. I'm not sure if xml.etree should be deprecated.
-rw-r--r--Makefile.am3
-rw-r--r--man/journalctl.xml23
-rw-r--r--man/less-variables.xml29
-rw-r--r--man/localectl.xml23
-rw-r--r--man/loginctl.xml23
-rw-r--r--man/machinectl.xml23
-rw-r--r--man/systemctl.xml25
-rw-r--r--man/systemd-analyze.xml25
-rw-r--r--man/timedatectl.xml23
-rw-r--r--tools/xml_helper.py22
10 files changed, 65 insertions, 154 deletions
diff --git a/Makefile.am b/Makefile.am
index 6a3fd4853c..09547d32d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4645,7 +4645,7 @@ if ENABLE_MANPAGES
man/custom-entities.ent:
$(AM_V_GEN)$(MKDIR_P) $(dir $@)
$(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 += \
@@ -4653,6 +4653,7 @@ DISTCLEANFILES += \
XSLTPROC_FLAGS = \
--nonet \
+ --xinclude \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.authors.section.enabled 0 \
diff --git a/man/journalctl.xml b/man/journalctl.xml
index 18a1b9ef2d..8890c64a41 100644
--- a/man/journalctl.xml
+++ b/man/journalctl.xml
@@ -21,7 +21,8 @@
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>
<title>journalctl</title>
@@ -875,25 +876,7 @@
failure code is returned.</para>
</refsect1>
- <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>
- <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>
+ <xi:include href="less-variables.xml" />
<refsect1>
<title>Examples</title>
diff --git a/man/less-variables.xml b/man/less-variables.xml
new file mode 100644
index 0000000000..09cbd42c2f
--- /dev/null
+++ b/man/less-variables.xml
@@ -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>
diff --git a/man/localectl.xml b/man/localectl.xml
index 238757c2e5..09e8d41e7d 100644
--- a/man/localectl.xml
+++ b/man/localectl.xml
@@ -21,7 +21,8 @@
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>
<title>localectl</title>
@@ -253,25 +254,7 @@
code otherwise.</para>
</refsect1>
- <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>
- <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>
+ <xi:include href="less-variables.xml" />
<refsect1>
<title>See Also</title>
diff --git a/man/loginctl.xml b/man/loginctl.xml
index ede869f394..38f099edcc 100644
--- a/man/loginctl.xml
+++ b/man/loginctl.xml
@@ -21,7 +21,8 @@
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>
<title>loginctl</title>
@@ -474,25 +475,7 @@
code otherwise.</para>
</refsect1>
- <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>
- <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>
+ <xi:include href="less-variables.xml" />
<refsect1>
<title>See Also</title>
diff --git a/man/machinectl.xml b/man/machinectl.xml
index 2e7fa3bf8d..5c30c449da 100644
--- a/man/machinectl.xml
+++ b/man/machinectl.xml
@@ -21,7 +21,8 @@
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>
<title>machinectl</title>
@@ -299,25 +300,7 @@
code otherwise.</para>
</refsect1>
- <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>
- <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>
+ <xi:include href="less-variables.xml" />
<refsect1>
<title>See Also</title>
diff --git a/man/systemctl.xml b/man/systemctl.xml
index 1b0f8e5e2d..906399c3bd 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -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/>.
-->
-<refentry id="systemctl">
+<refentry id="systemctl"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>systemctl</title>
@@ -1465,27 +1466,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
code otherwise.</para>
</refsect1>
- <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>
- <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>
+ <xi:include href="less-variables.xml" />
<refsect1>
<title>See Also</title>
diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml
index 54479e4876..de6c2bee2f 100644
--- a/man/systemd-analyze.xml
+++ b/man/systemd-analyze.xml
@@ -21,7 +21,8 @@
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>
<title>systemd-analyze</title>
@@ -321,27 +322,7 @@ $ eog targets.svg</programlisting>
</refsect1>
- <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>
- <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>
+ <xi:include href="less-variables.xml" />
<refsect1>
<title>See Also</title>
diff --git a/man/timedatectl.xml b/man/timedatectl.xml
index be66993e15..6bf277d69a 100644
--- a/man/timedatectl.xml
+++ b/man/timedatectl.xml
@@ -21,7 +21,8 @@
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>
<title>timedatectl</title>
@@ -227,25 +228,7 @@
code otherwise.</para>
</refsect1>
- <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>
- <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>
+ <xi:include href="less-variables.xml" />
<refsect1>
<title>Examples</title>
diff --git a/tools/xml_helper.py b/tools/xml_helper.py
index 08e226fa21..0d91a17bbc 100644
--- a/tools/xml_helper.py
+++ b/tools/xml_helper.py
@@ -17,19 +17,23 @@
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
-try:
- from lxml import etree as tree
+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)
+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:
_parser = tree.XMLParser()
_parser.resolvers.add(CustomResolver())
- xml_parse = lambda page: tree.parse(page, _parser)
- xml_print = lambda xml: tree.tostring(xml, pretty_print=True,
- encoding='utf-8')
+ def xml_parse(page):
+ doc = tree.parse(page, _parser)
+ doc.xinclude()
+ return doc
+ def xml_print(xml):
+ return tree.tostring(xml, pretty_print=True, encoding='utf-8')
+
except ImportError:
import xml.etree.ElementTree as tree
import re as _re