summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-07-20 19:28:58 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-07-20 19:48:16 -0400
commit0e8415f2e5c42e87ca3b7a96138675f64696cb7a (patch)
tree90677e8ba9f361a5b823238c65929541533ae3c8
parent78002a678106a9a4e0e9d747f54458ba84322f1a (diff)
man: add systemd-verify(1)
-rw-r--r--Makefile-man.am2
-rw-r--r--man/systemd-journal-remote.xml21
-rw-r--r--man/systemd-verify.xml174
-rw-r--r--man/systemd.unit.xml1
-rw-r--r--src/verify/verify.c4
5 files changed, 184 insertions, 18 deletions
diff --git a/Makefile-man.am b/Makefile-man.am
index 4339e50225..5cc3081528 100644
--- a/Makefile-man.am
+++ b/Makefile-man.am
@@ -92,6 +92,7 @@ MANPAGES += \
man/systemd-udevd.service.8 \
man/systemd-update-done.service.8 \
man/systemd-update-utmp.service.8 \
+ man/systemd-verify.1 \
man/systemd.1 \
man/systemd.automount.5 \
man/systemd.device.5 \
@@ -1658,6 +1659,7 @@ EXTRA_DIST += \
man/systemd-update-utmp.service.xml \
man/systemd-user-sessions.service.xml \
man/systemd-vconsole-setup.service.xml \
+ man/systemd-verify.xml \
man/systemd.automount.xml \
man/systemd.device.xml \
man/systemd.directives.xml \
diff --git a/man/systemd-journal-remote.xml b/man/systemd-journal-remote.xml
index 4065ced143..b470e2c9bf 100644
--- a/man/systemd-journal-remote.xml
+++ b/man/systemd-journal-remote.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="systemd-journal-remote" conditional='HAVE_MICROHTTPD'>
+<refentry id="systemd-journal-remote" conditional='HAVE_MICROHTTPD'
+ xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>systemd-journal-remote</title>
@@ -235,21 +236,6 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<variablelist>
<varlistentry>
- <term><option>--help</option></term>
- <term><option>-h</option></term>
-
- <listitem><para>Print a short help
- text and exit.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--version</option></term>
-
- <listitem><para>Print a short version
- string and exit.</para></listitem>
- </varlistentry>
-
- <varlistentry>
<term><option>--split-mode</option></term>
<listitem><para>One of <constant>none</constant> or
@@ -293,6 +279,9 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<programlisting>--getter='wget --header="Accept: application/vnd.fdo.journal" -O- https://some.host:19531/'</programlisting>
</listitem>
</varlistentry>
+
+ <xi:include href="standard-options.xml" xpointer="help" />
+ <xi:include href="standard-options.xml" xpointer="version" />
</variablelist>
</refsect1>
diff --git a/man/systemd-verify.xml b/man/systemd-verify.xml
new file mode 100644
index 0000000000..128032e7cb
--- /dev/null
+++ b/man/systemd-verify.xml
@@ -0,0 +1,174 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+This file is part of systemd.
+
+Copyright 2014 Zbigniew Jędrzejewski-Szmek
+
+systemd is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
+
+systemd is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+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="systemd-verify"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ <refentryinfo>
+ <title>systemd-verify</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Zbigniew</firstname>
+ <surname>Jędrzejewski-Szmek</surname>
+ <email>zbyszek@in.waw.pl</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemd-verify</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemd-verify</refname>
+ <refpurpose>Check unit file validity</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>systemd-verify</command>
+ <arg choice="opt" rep="repeat">OPTIONS</arg>
+ <arg choice="opt" rep="repeat">FILES</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para><filename>systemd-verify</filename> will load unit files and
+ potentially print warnings if any errors are detected. Files
+ specified on the command line will be loaded, but also any other
+ units referenced by them.</para>
+
+ <para>This command works by prepending the directories for all
+ command line arguments at the beginning of the unit load path.
+ This means that all units files found in those directories will
+ be used in preference to the unit files found in the standard
+ locations, even if not listed explicitly.</para>
+
+ <para>The following errors are currently detected:</para>
+ <itemizedlist>
+ <listitem><para>unknown sections and directives,
+ </para></listitem>
+
+ <listitem><para>missing dependencies which are required to start
+ the given unit,</para></listitem>
+
+ <listitem><para>man pages listed in
+ <varname>Documentation=</varname> which are not found in the
+ system,</para></listitem>
+
+ <listitem><para>commands listed in <varname>ExecStart=</varname>
+ and similar which are not found in the system or not executable.
+ </para></listitem>
+ </itemizedlist>
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+
+ <para>The following options are understood:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>--no-man</option></term>
+
+ <listitem><para>Do not invoke man to verify the existence
+ of man pages listen in <varname>Documentation=</varname>.
+ </para></listitem>
+ </varlistentry>
+
+ <xi:include href="user-system-options.xml" xpointer="user" />
+ <xi:include href="user-system-options.xml" xpointer="system" />
+
+ <xi:include href="standard-options.xml" xpointer="help" />
+ <xi:include href="standard-options.xml" xpointer="version" />
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Exit status</title>
+
+ <para>On success, 0 is returned, a non-zero failure
+ code otherwise.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <example>
+ <title>Misspelt directives</title>
+
+ <programlisting>$ cat ./user.slice
+[Unit]
+WhatIsThis=11
+Documentation=man:systemd.nosuchfile(7)
+Requires=different.service
+
+[Service]
+Desription=x
+
+$ systemd-verify ./user.slice
+[./user.slice:9] Unknown lvalue 'WhatIsThis' in section 'Unit'
+[./user.slice:13] Unknown section 'Service'. Ignoring.
+Error: org.freedesktop.systemd1.LoadFailed: Unit different.service failed to load: No such file or directory.
+Failed to create user.slice/start: Invalid argument
+user.slice: man systemd.nosuchfile(7) command failed with code 16
+</programlisting>
+ </example>
+
+ <example>
+ <title>Missing service units</title>
+
+ <programlisting>$ tail ./a.socket ./b.socket
+==> ./a.socket &lt;==
+[Socket]
+ListenStream=100
+
+==> ./b.socket &lt;==
+[Socket]
+ListenStream=100
+Accept=yes
+
+$ systemd-verify ./a.socket ./b.socket
+Service a.service not loaded, a.socket cannot be started.
+Service b@0.service not loaded, b.socket cannot be started.
+</programlisting>
+ </example>
+
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+</refentry>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index dd3a4a7cd5..dc5e385ac8 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -1513,6 +1513,7 @@
<citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-verify</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>uname</refentrytitle><manvolnum>1</manvolnum></citerefentry>
diff --git a/src/verify/verify.c b/src/verify/verify.c
index cad79ecf48..c1a3da8d14 100644
--- a/src/verify/verify.c
+++ b/src/verify/verify.c
@@ -278,8 +278,8 @@ static void help(void) {
"Check if unit files can be correctly loaded.\n\n"
" -h --help Show this help\n"
" --version Show package version\n"
- " --system Connect to system manager\n"
- " --user Connect to user service manager\n"
+ " --system Test system units\n"
+ " --user Test user units\n"
" --no-man Do not check for existence of man pages\n"
, program_invocation_short_name);
}