572a44
From 521519ead8bb49d2c94aed90982ffcd6d5e34e92 Mon Sep 17 00:00:00 2001
572a44
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
572a44
Date: Sat, 30 Nov 2013 21:23:01 -0500
572a44
Subject: [PATCH] man: explicitly say when multiple units can be specified
572a44
572a44
itistoday> how do you specify multiple dependencies in a unit file? i've been
572a44
           googling and can't find this basic thing :-\
572a44
itistoday> do you use a comma, or use multiple After= statements?
572a44
---
572a44
 man/systemd.unit.xml | 128 ++++++++++++++++++++++++++++-----------------------
572a44
 1 file changed, 70 insertions(+), 58 deletions(-)
572a44
572a44
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
572a44
index 5c8b8e8..029392c 100644
572a44
--- a/man/systemd.unit.xml
572a44
+++ b/man/systemd.unit.xml
572a44
@@ -410,10 +410,12 @@
572a44
                                 of the other units gets deactivated or
572a44
                                 its activation fails, this unit will
572a44
                                 be deactivated. This option may be
572a44
-                                specified more than once, in which
572a44
-                                case requirement dependencies for all
572a44
-                                listed names are created. Note that
572a44
-                                requirement dependencies do not
572a44
+                                specified more than once or multiple
572a44
+                                space-separated units may be specified
572a44
+                                in one option in which case
572a44
+                                requirement dependencies for all
572a44
+                                listed names will be created. Note
572a44
+                                that requirement dependencies do not
572a44
                                 influence the order in which services
572a44
                                 are started or stopped. This has to be
572a44
                                 configured independently with the
572a44
@@ -476,22 +478,23 @@
572a44
                                 <term><varname>RequisiteOverridable=</varname></term>
572a44
 
572a44
                                 <listitem><para>Similar to
572a44
-                                <varname>Requires=</varname>
572a44
-                                and <varname>RequiresOverridable=</varname>, respectively. However,
572a44
-                                if a unit listed here is not started
572a44
-                                already it will not be started and the
572a44
-                                transaction fails
572a44
-                                immediately.</para></listitem>
572a44
+                                <varname>Requires=</varname> and
572a44
+                                <varname>RequiresOverridable=</varname>,
572a44
+                                respectively. However, if the units
572a44
+                                listed here are not started already
572a44
+                                they will not be started and the
572a44
+                                transaction will fail immediately.
572a44
+                                </para></listitem>
572a44
                         </varlistentry>
572a44
 
572a44
                         <varlistentry>
572a44
                                 <term><varname>Wants=</varname></term>
572a44
 
572a44
                                 <listitem><para>A weaker version of
572a44
-                                <varname>Requires=</varname>. A unit
572a44
+                                <varname>Requires=</varname>. Units
572a44
                                 listed in this option will be started
572a44
                                 if the configuring unit is. However,
572a44
-                                if the listed unit fails to start up
572a44
+                                if the listed units fail to start
572a44
                                 or cannot be added to the transaction
572a44
                                 this has no impact on the validity of
572a44
                                 the transaction as a whole. This is
572a44
@@ -501,8 +504,8 @@
572a44
 
572a44
                                 <para>Note that dependencies of this
572a44
                                 type may also be configured outside of
572a44
-                                the unit configuration file by
572a44
-                                adding a symlink to a
572a44
+                                the unit configuration file by adding
572a44
+                                symlinks to a
572a44
                                 <filename>.wants/</filename> directory
572a44
                                 accompanying the unit file. For
572a44
                                 details see above.</para></listitem>
572a44
@@ -534,7 +537,7 @@
572a44
                                 of units. When systemd stops or restarts
572a44
                                 the units listed here, the action is
572a44
                                 propagated to this unit.
572a44
-                                Note that this is a one way dependency -
572a44
+                                Note that this is a one way dependency —
572a44
                                 changes to this unit do not affect the
572a44
                                 listed units.
572a44
                                 </para></listitem>
572a44
@@ -543,12 +546,12 @@
572a44
                         <varlistentry>
572a44
                                 <term><varname>Conflicts=</varname></term>
572a44
 
572a44
-                                <listitem><para>Configures negative
572a44
+                                <listitem><para>A space-separated list
572a44
+                                of unit names. Configures negative
572a44
                                 requirement dependencies. If a unit
572a44
-                                has a
572a44
-                                <varname>Conflicts=</varname> setting
572a44
-                                on another unit, starting the former
572a44
-                                will stop the latter and vice
572a44
+                                has a <varname>Conflicts=</varname>
572a44
+                                setting on another unit, starting the
572a44
+                                former will stop the latter and vice
572a44
                                 versa. Note that this setting is
572a44
                                 independent of and orthogonal to the
572a44
                                 <varname>After=</varname> and
572a44
@@ -575,7 +578,8 @@
572a44
                                 <term><varname>Before=</varname></term>
572a44
                                 <term><varname>After=</varname></term>
572a44
 
572a44
-                                <listitem><para>Configures ordering
572a44
+                                <listitem><para>A space-separated list
572a44
+                                of unit names. Configures ordering
572a44
                                 dependencies between units. If a unit
572a44
                                 <filename>foo.service</filename>
572a44
                                 contains a setting
572a44
@@ -624,18 +628,18 @@
572a44
                                 type <varname>After=</varname> or
572a44
                                 <varname>Before=</varname>. If two
572a44
                                 units have no ordering dependencies
572a44
-                                between them, they are shut down
572a44
-                                or started up simultaneously, and
572a44
-                                no ordering takes
572a44
+                                between them, they are shut down or
572a44
+                                started up simultaneously, and no
572a44
+                                ordering takes
572a44
                                 place. </para></listitem>
572a44
                         </varlistentry>
572a44
 
572a44
                         <varlistentry>
572a44
                                 <term><varname>OnFailure=</varname></term>
572a44
 
572a44
-                                <listitem><para>Lists one or more
572a44
-                                units that are activated when this
572a44
-                                unit enters the
572a44
+                                <listitem><para>A space-separated list
572a44
+                                of one or more units that are
572a44
+                                activated when this unit enters the
572a44
                                 <literal>failed</literal>
572a44
                                 state.</para></listitem>
572a44
                         </varlistentry>
572a44
@@ -644,16 +648,17 @@
572a44
                                 <term><varname>PropagatesReloadTo=</varname></term>
572a44
                                 <term><varname>ReloadPropagatedFrom=</varname></term>
572a44
 
572a44
-                                <listitem><para>Lists one or more
572a44
-                                units where reload requests on the
572a44
-                                unit will be propagated to/on the
572a44
-                                other unit will be propagated
572a44
-                                from. Issuing a reload request on a
572a44
-                                unit will automatically also enqueue a
572a44
-                                reload request on all units that the
572a44
-                                reload request shall be propagated to
572a44
-                                via these two
572a44
-                                settings.</para></listitem>
572a44
+                                <listitem><para>A space-separated list
572a44
+                                of one or more units where reload
572a44
+                                requests on this unit will be
572a44
+                                propagated to, or reload requests on
572a44
+                                the other unit will be propagated to
572a44
+                                this unit, respectively. Issuing a
572a44
+                                reload request on a unit will
572a44
+                                automatically also enqueue a reload
572a44
+                                request on all units that the reload
572a44
+                                request shall be propagated to via
572a44
+                                these two settings.</para></listitem>
572a44
                         </varlistentry>
572a44
 
572a44
                         <varlistentry>
572a44
@@ -1089,32 +1094,34 @@
572a44
                         <varlistentry>
572a44
                                 <term><varname>Alias=</varname></term>
572a44
 
572a44
-                                <listitem><para>Additional names this
572a44
-                                unit shall be installed under. The
572a44
-                                names listed here must have the same
572a44
-                                suffix (i.e. type) as the unit file
572a44
-                                name. This option may be specified
572a44
-                                more than once, in which case all
572a44
-                                listed names are used. At installation
572a44
-                                time,
572a44
-                                <command>systemctl enable</command>
572a44
-                                will create symlinks from these names
572a44
-                                to the unit filename.</para></listitem>
572a44
+                                <listitem><para>A space-seperated list
572a44
+                                of additional names this unit shall be
572a44
+                                installed under. The names listed here
572a44
+                                must have the same suffix (i.e. type)
572a44
+                                as the unit file name. This option may
572a44
+                                be specified more than once, in which
572a44
+                                case all listed names are used. At
572a44
+                                installation time, <command>systemctl
572a44
+                                enable</command> will create symlinks
572a44
+                                from these names to the unit
572a44
+                                filename.</para></listitem>
572a44
                         </varlistentry>
572a44
 
572a44
                         <varlistentry>
572a44
                                 <term><varname>WantedBy=</varname></term>
572a44
                                 <term><varname>RequiredBy=</varname></term>
572a44
 
572a44
-                                <listitem><para>A symbolic link is
572a44
-                                created in the
572a44
-                                <filename>.wants/</filename> or
572a44
-                                <filename>.requires/</filename> directory
572a44
-                                of the listed unit when this unit is
572a44
-                                activated by <command>systemctl
572a44
-                                enable</command>.  This has the effect
572a44
-                                that a dependency of type
572a44
-                                <varname>Wants=</varname> or
572a44
+                                <listitem><para>This option may be
572a44
+                                used more than once, or a
572a44
+                                space-separated list of unit names may
572a44
+                                be given. A symbolic link is created
572a44
+                                in the <filename>.wants/</filename> or
572a44
+                                <filename>.requires/</filename>
572a44
+                                directory of each of the listed units
572a44
+                                when this unit is installed by
572a44
+                                <command>systemctl enable</command>.
572a44
+                                This has the effect that a dependency
572a44
+                                of type <varname>Wants=</varname> or
572a44
                                 <varname>Requires=</varname> is added
572a44
                                 from the listed unit to the current
572a44
                                 unit. The primary result is that the
572a44
@@ -1160,7 +1167,12 @@
572a44
                                 and <command>systemctl
572a44
                                 disable</command> will automatically
572a44
                                 install/uninstall units listed in this option as
572a44
-                                well.</para></listitem>
572a44
+                                well.</para>
572a44
+
572a44
+                                <para>This option may be used more
572a44
+                                than once, or a space-separated list
572a44
+                                of unit names may be
572a44
+                                given.</para></listitem>
572a44
                         </varlistentry>
572a44
                 </variablelist>
572a44