[systemd-commits] 5 commits - TODO man/systemd-networkd.service.xml man/systemd.unit.xml man/udev.xml src/shared

Lennart Poettering lennart at kemper.freedesktop.org
Fri Feb 21 10:22:34 PST 2014


 TODO                             |   17 +++++++--
 man/systemd-networkd.service.xml |   68 +++++++++++++++++++--------------------
 man/systemd.unit.xml             |   13 +++----
 man/udev.xml                     |   42 ++++++++++++------------
 src/shared/conf-parser.c         |    9 +++++
 5 files changed, 83 insertions(+), 66 deletions(-)

New commits:
commit 96197df081a16bec192a6cfb8f19674ca58f4835
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Feb 21 19:22:00 2014 +0100

    update TODO

diff --git a/TODO b/TODO
index 37b44d5..059047b 100644
--- a/TODO
+++ b/TODO
@@ -27,6 +27,10 @@ External:
 
 Features:
 
+* man: move .link, .network and .netdev documentation into their own
+  man pages maybe called "systemd.link(5)", "systemd.network(5)" and
+  "systemd.netdev(5)" or so.
+
 * extend device cgroup controller support to allow enabling groups of
   device nodes, so that pts can be allowed in whole. For that,
   introduce the syntax "block-XYZ" and "char-XYZ" in addition to the
@@ -53,9 +57,6 @@ Features:
   "systemctl status" without args to output this state along with a
   selection of other data, such as the uptime or so.
 
-* doc: remove documentation for .include, drop-in snippets are the
-  better replacement.
-
 * Add a seccomp-based filter for socket() calls to limit services to
   specific address families (for example: AF_UNIX), inspired by
   Android's sandboxing
@@ -349,7 +350,6 @@ Features:
   - document in wiki how to map ical recurrence events to systemd timer unit calendar specifications
   - add a man page containing packaging guidelines and recommending usage of things like Documentation=, PrivateTmp=, PrivateNetwork= and ReadOnlyDirectories=/etc /usr.
   - document systemd-journal-flush.service properly
-  - man: remove .include documentation, and instead push people to use .d/*.conf
   - documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
   - man: document the very specific env the shutdown drop-in tools live in
   - man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too

commit c8f57f5963970013b4134f0e4ee58cb590c60338
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Feb 21 19:19:31 2014 +0100

    man: suffix networkd config file options with "="
    
    That's what we do for all options in the other man pages. It helps
    clarifying that these are options that values need to be assigned to.

diff --git a/man/systemd-networkd.service.xml b/man/systemd-networkd.service.xml
index 91e1392..51ae761 100644
--- a/man/systemd-networkd.service.xml
+++ b/man/systemd-networkd.service.xml
@@ -102,7 +102,7 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>Host</varname></term>
+                                        <term><varname>Host=</varname></term>
                                         <listitem>
                                                 <para>Matches against the hostname or machine ID of the
                                                 host. See <literal>ConditionHost=</literal> in
@@ -112,7 +112,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Virtualization</varname></term>
+                                        <term><varname>Virtualization=</varname></term>
                                         <listitem>
                                                 <para>Checks whether the system is executed in a virtualized
                                                 environment and optionally test whether it is a specific
@@ -123,7 +123,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>KernelCommandLine</varname></term>
+                                        <term><varname>KernelCommandLine=</varname></term>
                                         <listitem>
                                                 <para>Checks whether a specific kernel command line option is
                                                 set (or if prefixed with the exclamation mark unset). See
@@ -134,7 +134,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Architecture</varname></term>
+                                        <term><varname>Architecture=</varname></term>
                                         <listitem>
                                                 <para>Checks whether the system is running on a specific
                                                 architecture. See <literal>ConditionArchitecture=</literal> in
@@ -150,14 +150,14 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>Name</varname></term>
+                                        <term><varname>Name=</varname></term>
                                         <listitem>
                                                 <para>The interface name used when creating the
                                                 bridge. This option is compulsory.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Kind</varname></term>
+                                        <term><varname>Kind=</varname></term>
                                         <listitem>
                                                 <para>The netdev kind. Currently, <literal>bridge</literal>,
                                                 <literal>bond</literal> and <literal>vlan</literal>
@@ -171,7 +171,7 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>Id</varname></term>
+                                        <term><varname>Id=</varname></term>
                                         <listitem>
                                                 <para>The VLAN ID to use. An integer in the range 0–4094.
                                                 This option is compulsory.</para>
@@ -198,13 +198,13 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>MACAddress</varname></term>
+                                        <term><varname>MACAddress=</varname></term>
                                         <listitem>
                                                 <para>The hardware address.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Path</varname></term>
+                                        <term><varname>Path=</varname></term>
                                         <listitem>
                                                 <para>The persistent path, as exposed by the udev
                                                 property <literal>ID_PATH</literal>. May contain shell
@@ -212,7 +212,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Driver</varname></term>
+                                        <term><varname>Driver=</varname></term>
                                         <listitem>
                                                 <para>The driver currently bound to the device, as
                                                 exposed by the udev property <literal>DRIVER</literal>
@@ -221,14 +221,14 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Type</varname></term>
+                                        <term><varname>Type=</varname></term>
                                         <listitem>
                                                 <para>The device type, as exposed by the udev property
                                                 <literal>DEVTYPE</literal>.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Name</varname></term>
+                                        <term><varname>Name=</varname></term>
                                         <listitem>
                                                 <para>The device name, as exposed by the udev property
                                                 <literal>INTERFACE</literal>. May contain shell style
@@ -236,7 +236,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Host</varname></term>
+                                        <term><varname>Host=</varname></term>
                                         <listitem>
                                                 <para>Matches against the hostname or machine ID of the
                                                 host. See <literal>ConditionHost=</literal> in
@@ -246,7 +246,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Virtualization</varname></term>
+                                        <term><varname>Virtualization=</varname></term>
                                         <listitem>
                                                 <para>Checks whether the system is executed in a virtualized
                                                 environment and optionally test whether it is a specific
@@ -257,7 +257,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>KernelCommandLine</varname></term>
+                                        <term><varname>KernelCommandLine=</varname></term>
                                         <listitem>
                                                 <para>Checks whether a specific kernel command line option is
                                                 set (or if prefixed with the exclamation mark unset). See
@@ -268,7 +268,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Architecture</varname></term>
+                                        <term><varname>Architecture=</varname></term>
                                         <listitem>
                                                 <para>Checks whether the system is running on a specific
                                                 architecture. See <literal>ConditionArchitecture=</literal> in
@@ -283,20 +283,20 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>Description</varname></term>
+                                        <term><varname>Description=</varname></term>
                                         <listitem>
                                                 <para>A description of the device. This is only used for
                                                 presentation purposes.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>DHCP</varname></term>
+                                        <term><varname>DHCP=</varname></term>
                                         <listitem>
                                                 <para>A boolean. When true, enables basic DHCPv4 support.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Address</varname></term>
+                                        <term><varname>Address=</varname></term>
                                         <listitem>
                                                 <para>A static IPv4 or IPv6 address and its prefix length,
                                                 separated by a <literal>/</literal> character. The format of the address must
@@ -306,7 +306,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Gateway</varname></term>
+                                        <term><varname>Gateway=</varname></term>
                                         <listitem>
                                                 <para>The gateway address, which must be in the format described in
                                                 <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
@@ -314,7 +314,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>DNS</varname></term>
+                                        <term><varname>DNS=</varname></term>
                                         <listitem>
                                                 <para>A DNS server address, which must be in the format described in
                                                 <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
@@ -322,19 +322,19 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Bridge</varname></term>
+                                        <term><varname>Bridge=</varname></term>
                                         <listitem>
                                                 <para>The name of the bridge to add the link to.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Bond</varname></term>
+                                        <term><varname>Bond=</varname></term>
                                         <listitem>
                                                 <para>The name of the bond to add the link to.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>VLAN</varname></term>
+                                        <term><varname>VLAN=</varname></term>
                                         <listitem>
                                                 <para>The name of a VLAN to create on the link. This option
                                                 may be specified more than once.</para>
@@ -346,13 +346,13 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>Address</varname></term>
+                                        <term><varname>Address=</varname></term>
                                         <listitem>
                                                 <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Broadcast</varname></term>
+                                        <term><varname>Broadcast=</varname></term>
                                         <listitem>
                                                 <para>The broadcast address, which must be in the format described in
                                                 <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
@@ -361,7 +361,7 @@
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Label</varname></term>
+                                        <term><varname>Label=</varname></term>
                                         <listitem>
                                                 <para>An address label.</para>
                                         </listitem>
@@ -372,13 +372,13 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>Gateway</varname></term>
+                                        <term><varname>Gateway=</varname></term>
                                         <listitem>
                                                 <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>Destination</varname></term>
+                                        <term><varname>Destination=</varname></term>
                                         <listitem>
                                                 <para>The destination prefix of the route. Possibly followed by a slash and the
                                                 prefixlength, if ommitted a full-length host route is assumed.</para>
@@ -390,28 +390,28 @@
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
-                                        <term><varname>UseDNS</varname></term>
+                                        <term><varname>UseDNS=</varname></term>
                                         <listitem>
                                                 <para>When true (the default), the DNS servers received from the DHCP server will
                                                 be used and take precedence over any statically configured ones.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>UseMTU</varname></term>
+                                        <term><varname>UseMTU=</varname></term>
                                         <listitem>
                                                 <para>When true, the interface maximum transmission unit from the DHCP server will
                                                 be used on the current link. Defaults to false.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>UseHostname</varname></term>
+                                        <term><varname>UseHostname=</varname></term>
                                         <listitem>
                                                 <para>When true (the default), the hostname received from the DHCP server
                                                 will be used as the transient hostname.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
-                                        <term><varname>CriticalConnection</varname></term>
+                                        <term><varname>CriticalConnection=</varname></term>
                                         <listitem>
                                                 <para>When true, the connection will never be torn down even if the DHCP lease
                                                 expires. This is contrary to the DHCP specification, but may be the best choice
@@ -427,7 +427,7 @@
                 <title>See Also</title>
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                 </para>
         </refsect1>
 
diff --git a/man/udev.xml b/man/udev.xml
index 9e00933..0e75715 100644
--- a/man/udev.xml
+++ b/man/udev.xml
@@ -790,34 +790,34 @@
 
       <variablelist class='network-directives'>
         <varlistentry>
-          <term><varname>MACAddress</varname></term>
+          <term><varname>MACAddress=</varname></term>
           <listitem>
             <para>The hardware address.
             </para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Path</varname></term>
+          <term><varname>Path=</varname></term>
           <listitem>
             <para>The persistent path, as exposed by the udev property <literal>ID_PATH</literal>.
             May contain shell style globs.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Driver</varname></term>
+          <term><varname>Driver=</varname></term>
           <listitem>
             <para>The driver currently bound to the device, as exposed by the
             udev property <literal>DRIVER</literal> of its parent device.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Type</varname></term>
+          <term><varname>Type=</varname></term>
           <listitem>
             <para>The device type, as exposed by the udev property <literal>DEVTYPE</literal>.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Host</varname></term>
+          <term><varname>Host=</varname></term>
           <listitem>
             <para>Matches against the hostname or machine ID of the
             host. See <literal>ConditionHost=</literal> in
@@ -826,7 +826,7 @@
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Virtualization</varname></term>
+          <term><varname>Virtualization=</varname></term>
           <listitem>
             <para>Checks whether the system is executed in a virtualized
             environment and optionally test whether it is a specific
@@ -836,7 +836,7 @@
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>KernelCommandLine</varname></term>
+          <term><varname>KernelCommandLine=</varname></term>
           <listitem>
             <para>Checks whether a specific kernel command line option is
             set (or if prefixed with the exclamation mark unset). See
@@ -846,7 +846,7 @@
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Architecture</varname></term>
+          <term><varname>Architecture=</varname></term>
           <listitem>
             <para>Checks whether the system is running on a specific
             architecture. See <literal>ConditionArchitecture=</literal> in
@@ -860,19 +860,19 @@
 
       <variablelist class='network-directives'>
         <varlistentry>
-          <term><varname>Description</varname></term>
+          <term><varname>Description=</varname></term>
           <listitem>
             <para>A description of the device.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Alias</varname></term>
+          <term><varname>Alias=</varname></term>
           <listitem>
             <para>The <literal>ifalias</literal> is set to this value.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>MACAddressPolicy</varname></term>
+          <term><varname>MACAddressPolicy=</varname></term>
           <listitem>
             <para>The policy by which the MAC address should be set. The
               available policies are:
@@ -902,15 +902,15 @@
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>MACAddress</varname></term>
+          <term><varname>MACAddress=</varname></term>
           <listitem>
-            <para>The MAC address to use, if no <literal>MACAddressPolicy</literal>
+            <para>The MAC address to use, if no <literal>MACAddressPolicy=</literal>
               is specified.
             </para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>NamePolicy</varname></term>
+          <term><varname>NamePolicy=</varname></term>
           <listitem>
             <para>An ordered, space-separated list of policies by which the
               interface name should be set. <literal>NamePolicy</literal> may
@@ -971,28 +971,28 @@
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Name</varname></term>
+          <term><varname>Name=</varname></term>
           <listitem>
             <para>The interface name to use in case all the policies specified
-              in <literal>NamePolicy</literal> fail, or in case
-              <literal>NamePolicy</literal> is missing or disabled.
+              in <varname>NamePolicy=</varname> fail, or in case
+              <varname>NamePolicy=</varname> is missing or disabled.
             </para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>MTU</varname></term>
+          <term><varname>MTU=</varname></term>
           <listitem>
             <para>The MTU to set for the device.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>SpeedMBytes</varname></term>
+          <term><varname>SpeedMBytes=</varname></term>
           <listitem>
             <para>The speed to set for the device.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>Duplex</varname></term>
+          <term><varname>Duplex=</varname></term>
           <listitem>
             <para>The duplex mode to set for the device. The accepted values
               are <literal>half</literal> and <literal>full</literal>.
@@ -1000,7 +1000,7 @@
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><varname>WakeOnLan</varname></term>
+          <term><varname>WakeOnLan=</varname></term>
           <listitem>
             <para>The Wake-on-LAN policy to set for the device. The supported
               values are:

commit f7be6ffa926a0b81495ee201aba933824ab417a4
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Feb 21 18:57:47 2014 +0100

    man: split settings documentaiton in systemd.unit(5) into two sections

diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 4445c74..07a73fd 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -350,7 +350,7 @@
         </refsect1>
 
         <refsect1>
-                <title>Options</title>
+                <title>[Unit] Section Options</title>
 
                 <para>Unit file may include a [Unit] section, which
                 carries generic information about the unit that is not
@@ -1167,6 +1167,11 @@
                         </varlistentry>
                 </variablelist>
 
+        </refsect1>
+
+        <refsect1>
+                <title>[Install] Section Options</title>
+
                 <para>Unit file may include a [Install] section, which
                 carries installation information for the unit. This
                 section is not interpreted by

commit b8e7a47baf10683f59bf848abd300b45cd5042f2
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Feb 21 18:57:15 2014 +0100

    man: don't document ".include" in configuration files anymore as first step to deprecate them one day

diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 2b59b1b..4445c74 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -200,12 +200,6 @@
                 has the appropriate section headers before any
                 directive.</para>
 
-                <para>If a line starts with <option>.include</option>
-                followed by a filename, the specified file will be
-                parsed at this point. Make sure that the file that is
-                included has the appropriate section headers before
-                any directives.</para>
-
                 <para>Note that while systemd offers a flexible
                 dependency system between units it is recommended to
                 use this functionality only sparingly and instead rely
diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
index d5a639e..dde62b5 100644
--- a/src/shared/conf-parser.c
+++ b/src/shared/conf-parser.c
@@ -225,6 +225,15 @@ static int parse_line(const char* unit,
         if (startswith(l, ".include ")) {
                 _cleanup_free_ char *fn = NULL;
 
+                /* .includes are a bad idea, we only support them here
+                 * for historical reasons. They create cyclic include
+                 * problems and make it difficult to detect
+                 * configuration file changes with an easy
+                 * stat(). Better approaches, such as .d/ drop-in
+                 * snippets exist.
+                 *
+                 * Support for them should be eventually removed. */
+
                 if (!allow_include) {
                         log_syntax(unit, LOG_ERR, filename, line, EBADMSG,
                                    ".include not allowed here. Ignoring.");

commit 0183b74fa47d7f05b7bc3b46d82daf8cebb17fa7
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Feb 21 18:54:59 2014 +0100

    update TODO

diff --git a/TODO b/TODO
index e1d2126..37b44d5 100644
--- a/TODO
+++ b/TODO
@@ -27,6 +27,15 @@ External:
 
 Features:
 
+* extend device cgroup controller support to allow enabling groups of
+  device nodes, so that pts can be allowed in whole. For that,
+  introduce the syntax "block-XYZ" and "char-XYZ" in addition to the
+  existing "/dev/foobar", where XYZ then is looked up in /proc/devices
+  and mapped to one or more majors.
+
+* Add all pts device nodes to those allowed by default when the device
+  controller is used.
+
 * "busctl status" works only as root on dbus1, since we cannot read
   /proc/$PID/exe
 



More information about the systemd-commits mailing list