[systemd-commits] 5 commits - configure.ac DISTRO_PORTING Makefile.am man/systemd.special.xml units/basic.target.m4 units/graphical.target.m4 units/multi-user.target.m4

Lennart Poettering lennart at kemper.freedesktop.org
Mon May 17 10:43:05 PDT 2010


 DISTRO_PORTING             |   29 +++
 Makefile.am                |    5 
 configure.ac               |    8 
 man/systemd.special.xml    |  373 +++++++++++++++++++++++++++++++++++++++------
 units/basic.target.m4      |    1 
 units/graphical.target.m4  |    1 
 units/multi-user.target.m4 |    1 
 7 files changed, 362 insertions(+), 56 deletions(-)

New commits:
commit 705dbf3aa3e95a4e591dcbc79774708d71b0e2e8
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon May 17 19:42:57 2010 +0200

    units: make sure to ship units/remote-fs.target.m4 in tarball

diff --git a/Makefile.am b/Makefile.am
index 3b54699..627538d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -101,6 +101,7 @@ EXTRA_DIST = \
 	units/getty at .service.m4 \
 	units/graphical.target.m4 \
 	units/multi-user.target.m4 \
+	units/remote-fs.target.m4 \
 	units/systemd-initctl.service.in \
 	units/systemd-logger.service.in \
 	units/syslog.target.in \
@@ -361,7 +362,9 @@ CLEANFILES = \
 	units/basic.target \
 	units/getty at .service \
 	units/graphical.target \
-	units/multi-user.target
+	units/multi-user.target \
+	units/remote-fs.target \
+	units/session/remote-fs.target
 
 if HAVE_XSLTPROC
 man/%.5 man/%.7: man/%.xml
commit 50321ee3ef31b540e78bb767c3935763b96ea581
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon May 17 19:37:49 2010 +0200

    units: add a couple of Conflicts to make boot targets exclusive

diff --git a/units/basic.target.m4 b/units/basic.target.m4
index c31a8f6..5053df4 100644
--- a/units/basic.target.m4
+++ b/units/basic.target.m4
@@ -21,6 +21,7 @@
 Description=Basic System
 Requires=local-fs.target swap.target sockets.target
 After=local-fs.target swap.target sockets.target
+Conflicts=emergency.service
 m4_dnl
 m4_ifdef(`TARGET_FEDORA',
 m4_dnl Hook in Fedora's /etc/rc.d/rc.sysinit
diff --git a/units/graphical.target.m4 b/units/graphical.target.m4
index cb8e811..aaed4a5 100644
--- a/units/graphical.target.m4
+++ b/units/graphical.target.m4
@@ -21,6 +21,7 @@
 Description=Graphical Interface
 Requires=multi-user.target
 After=multi-user.target
+Conflicts=rescue.target
 m4_dnl
 m4_ifdef(`TARGET_FEDORA',
 m4_dnl On Fedora Runlevel 5 is graphical login
diff --git a/units/multi-user.target.m4 b/units/multi-user.target.m4
index b7f5f15..a49cfb9 100644
--- a/units/multi-user.target.m4
+++ b/units/multi-user.target.m4
@@ -21,6 +21,7 @@
 Description=Multi-User
 Requires=basic.target
 After=basic.target
+Conflicts=rescue.target
 m4_dnl
 m4_ifdef(`TARGET_FEDORA',
 m4_dnl On Fedora Runlevel 3 is multi-user
commit bd3d19a4ea3b007bea4c94213cafd5dc37ce7a3d
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon May 17 19:37:21 2010 +0200

    man: complete service.special(7) man page

diff --git a/man/systemd.special.xml b/man/systemd.special.xml
index 3f9286d..e81e99e 100644
--- a/man/systemd.special.xml
+++ b/man/systemd.special.xml
@@ -48,22 +48,38 @@
         </refnamediv>
 
         <refsynopsisdiv>
+                <para><filename>basic.target</filename></para>
+                <para><filename>ctrl-alt-del.target</filename></para>
+                <para><filename>default.target</filename></para>
                 <para><filename>emergency.service</filename></para>
+                <para><filename>graphical.target</filename></para>
+                <para><filename>halt.target</filename></para>
+                <para><filename>kbrequest.target</filename></para>
                 <para><filename>local-fs.target</filename></para>
+                <para><filename>multi-user.target</filename></para>
                 <para><filename>network.target</filename></para>
                 <para><filename>nss-lookup.target</filename></para>
+                <para><filename>poweroff.target</filename></para>
+                <para><filename>reboot.target</filename></para>
                 <para><filename>remote-fs.target</filename></para>
+                <para><filename>rescue.target</filename></para>
                 <para><filename>rpcbind.target</filename></para>
                 <para><filename>rtc-set.target</filename></para>
+                <para><filename>runlevel0.target</filename>,
+                        <filename>runlevel0.target</filename>,
+                        <filename>runlevel1.target</filename>,
+                        <filename>runlevel2.target</filename>,
+                        <filename>runlevel3.target</filename>,
+                        <filename>runlevel4.target</filename>,
+                        <filename>runlevel5.target</filename>,
+                        <filename>runlevel6.target</filename></para>
                 <para><filename>shutdown.target</filename></para>
                 <para><filename>sigpwr.target</filename></para>
                 <para><filename>sockets.target</filename></para>
                 <para><filename>swap.target</filename></para>
                 <para><filename>syslog.target</filename></para>
-                <para><filename>systemd-initctl.service</filename></para>
-                <para><filename>systemd-initctl.socket</filename></para>
-                <para><filename>systemd-logger.service</filename></para>
-                <para><filename>systemd-logger.socket</filename></para>
+                <para><filename>systemd-initctl.service</filename>, <filename>systemd-initctl.socket</filename></para>
+                <para><filename>systemd-logger.service</filename>, <filename>systemd-logger.socket</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
@@ -79,6 +95,58 @@
 
                 <variablelist>
                         <varlistentry>
+                                <term><filename>basic.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        covering early boot-up.</para>
+                                        <para>systemd automatically
+                                        adds dependencies of the types
+                                        Requires and After for this
+                                        target unit to all SysV
+                                        service units configured for
+                                        runlevel 1 to 5.</para>
+                                        <para>systemd automatically
+                                        adds dependencies of the types
+                                        Wants and After for all
+                                        SysV service units configured
+                                        for runlevels that are not 0
+                                        to 6 to this target unit.
+                                        This covers the special
+                                        boot-up runlevels some
+                                        distributions have, such as S
+                                        or b.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>ctrl-alt-del.target</filename></term>
+                                <listitem>
+                                        <para>systemd starts this
+                                        target whenever
+                                        Control+Alt+Del is pressed on
+                                        the console. Usually this
+                                        should be aliased (symlinked)
+                                        to
+                                        <filename>reboot.target</filename>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>default.target</filename></term>
+                                <listitem>
+                                        <para>The default unit systemd
+                                        starts at bootup. Usually this
+                                        should be aliased (symlinked)
+                                        to
+                                        <filename>multi-user.target</filename>
+                                        or
+                                        <filename>graphical.target</filename>.</para>
+                                        <para>The default unit systemd
+                                        starts at bootup can be
+                                        overriden with the
+                                        <varname>systemd.default=</varname>
+                                        kernel command line option.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
                                 <term><filename>emergency.service</filename></term>
                                 <listitem>
                                         <para>A special service unit
@@ -93,16 +161,55 @@
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
+                                <term><filename>graphical.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        for setting up a graphical
+                                        login screen. This pulls in
+                                        <filename>multi-user.target</filename>.</para>
+
+                                        <para>Units that are needed
+                                        for graphical login shall add
+                                        Wants dependencies for their
+                                        unit to this unit (or
+                                        <filename>multi-user.target</filename>)
+                                        during installation.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>halt.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        for shutting down and halting the system.</para>
+
+                                        <para>Applications wanting to
+                                        halt the system should start
+                                        this unit.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>kbrequest.target</filename></term>
+                                <listitem>
+                                        <para>systemd starts this
+                                        target whenever Alt+ArrowUp is
+                                        pressed on the console. This
+                                        is a good candidate to be
+                                        aliased (symlinked) to
+                                        <filename>rescue.target</filename>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
                                 <term><filename>local-fs.target</filename></term>
                                 <listitem>
                                         <para>systemd automatically
                                         adds dependencies of type
                                         After to all mount units that
-                                        refer to local mount
-                                        points. In addition, systemd
-                                        adds dependencies of type
-                                        Wants to those mounts listed
-                                        in
+                                        refer to local mount points
+                                        for this target unit. In
+                                        addition, systemd adds
+                                        dependencies of type Wants to
+                                        this target unit for those
+                                        mounts listed in
                                         <filename>/etc/fstab</filename>
                                         that have the
                                         <literal>auto</literal> and
@@ -111,21 +218,39 @@
 
                                         <para>systemd automatically
                                         adds dependencies of type
-                                        After to this target unit for
-                                        all SysV init scripts with an
-                                        LSB header referring to the
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
                                         <literal>$local_fs</literal>
                                         facility.</para>
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
+                                <term><filename>multi-user.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        for setting up a multi-user
+                                        system (non-graphical). This
+                                        is pulled in by
+                                        <filename>graphical.target</filename>.</para>
+
+                                        <para>Units that are needed
+                                        for a multi-user system shall
+                                        add Wants dependencies to
+                                        this unit for their unit during
+                                        installation.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
                                 <term><filename>network.target</filename></term>
                                 <listitem>
                                         <para>systemd automatically
                                         adds dependencies of type
-                                        After to this target unit for
-                                        all SysV init scripts with an
-                                        LSB header referring to the
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
                                         <literal>$network</literal>
                                         facility.</para>
                                 </listitem>
@@ -135,34 +260,83 @@
                                 <listitem>
                                         <para>systemd automatically
                                         adds dependencies of type
-                                        After to this target unit for
-                                        all SysV init scripts with an
-                                        LSB header referring to the
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
                                         <literal>$named</literal>
                                         facility.</para>
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
+                                <term><filename>poweroff.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        for shutting down and powering off the system.</para>
+
+                                        <para>Applications wanting to
+                                        power off the system should start
+                                        this unit.</para>
+
+                                        <para><filename>runlevel0.target</filename>
+                                        is an alias for this target
+                                        unit, for compatibility with SysV.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>reboot.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        for shutting down and rebooting the system.</para>
+
+                                        <para>Applications wanting to
+                                        reboot the system should start
+                                        this unit.</para>
+
+                                        <para><filename>runlevel6.target</filename>
+                                        is an alias for this target
+                                        unit, for compatibility with SysV.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
                                 <term><filename>remote-fs.target</filename></term>
                                 <listitem>
-                                        <para>Similar to <filename>local-fs.target</filename>, but for remote mount points.</para>
+                                        <para>Similar to
+                                        <filename>local-fs.target</filename>,
+                                        but for remote mount
+                                        points.</para>
+
                                         <para>systemd automatically
                                         adds dependencies of type
-                                        After to this target unit for
-                                        all SysV init scripts with an
-                                        LSB header referring to the
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
                                         <literal>$remote-fs</literal>
                                         facility.</para>
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
+                                <term><filename>rescue.target</filename></term>
+                                <listitem>
+                                        <para>A special target unit
+                                        for setting up the base system
+                                        and a rescue shell.</para>
+
+                                        <para><filename>runlevel1.target</filename>
+                                        is an alias for this target
+                                        unit, for compatibility with SysV.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
                                 <term><filename>rpcbind.target</filename></term>
                                 <listitem>
                                         <para>systemd automatically
                                         adds dependencies of type
-                                        After to this target unit for
-                                        all SysV init scripts with an
-                                        LSB header referring to the
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
                                         <literal>$rpcbind</literal>
                                         facility.</para>
                                 </listitem>
@@ -172,14 +346,108 @@
                                 <listitem>
                                         <para>systemd automatically
                                         adds dependencies of type
-                                        After to this target unit for
-                                        all SysV init scripts with an
-                                        LSB header referring to the
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
                                         <literal>$time</literal>
                                         facility.</para>
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
+                                <term><filename>runlevel0.target</filename></term>
+                                <listitem>
+                                        <para>This is a target that is
+                                        called whever the SysV
+                                        compatibility code asks for
+                                        runlevel 0. This is an alias
+                                        for
+                                        <filename>poweroff.target</filename>,
+                                        for compatibility with
+                                        SysV.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>runlevel1.target</filename></term>
+                                <listitem>
+                                        <para>This is a target that is
+                                        called whever the SysV
+                                        compatibility code asks for
+                                        runlevel 1. This is an alias
+                                        for
+                                        <filename>rescue.target</filename>,
+                                        for compatibility with
+                                        SysV.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>runlevel2.target</filename></term>
+                                <listitem>
+                                        <para>This is a target that is
+                                        called whever the SysV
+                                        compatibility code asks for
+                                        runlevel 2. It is a good idea
+                                        to make this an alias for
+                                        (i.e. symlink to)
+                                        <filename>multi-user.target</filename>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>runlevel3.target</filename></term>
+                                <listitem>
+                                        <para>This is a target that is
+                                        called whever the SysV
+                                        compatibility code asks for
+                                        runlevel 3. It is a good idea
+                                        to make this an alias for
+                                        (i.e. symlink to)
+                                        <filename>multi-user.target</filename>
+                                        or
+                                        <filename>graphical.target</filename>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>runlevel4.target</filename></term>
+                                <listitem>
+                                        <para>This is a target that is
+                                        called whever the SysV
+                                        compatibility code asks for
+                                        runlevel 4. It is a good idea
+                                        to make this an alias for
+                                        (i.e. symlink to)
+                                        <filename>multi-user.target</filename>
+                                        or
+                                        <filename>graphical.target</filename>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>runlevel5.target</filename></term>
+                                <listitem>
+                                        <para>This is a target that is
+                                        called whever the SysV
+                                        compatibility code asks for
+                                        runlevel 5. It is a good idea
+                                        to make this an alias for
+                                        (i.e. symlink to)
+                                        <filename>multi-user.target</filename>
+                                        or
+                                        <filename>graphical.target</filename>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><filename>runlevel6.target</filename></term>
+                                <listitem>
+                                        <para>This is a target that is
+                                        called whever the SysV
+                                        compatibility code asks for
+                                        runlevel 6. This is an alias
+                                        for
+                                        <filename>reboot.target</filename>,
+                                        for compatibility with
+                                        SysV.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
                                 <term><filename>shutdown.target</filename></term>
                                 <listitem>
                                         <para>A special target unit
@@ -188,17 +456,18 @@
 
                                         <para>Services that shall be
                                         terminated on system shutdown
-                                        shall add Wants dependencies
-                                        from this unit to their
-                                        service unit during
+                                        shall add Conflicts
+                                        dependencies to this unit for
+                                        their service unit during
                                         installation.</para>
 
                                         <para>systemd automatically
                                         adds dependencies of type
                                         Conflicts to this target unit
-                                        for all SysV init scripts that
-                                        shall be terminated in SysV
-                                        runlevels 0 or 6.</para>
+                                        for all SysV init script
+                                        service units that shall be
+                                        terminated in SysV runlevels 0
+                                        or 6.</para>
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
@@ -208,7 +477,7 @@
                                         started when systemd receives
                                         the SIGPWR process signal,
                                         which is normally sent by the
-                                        kernel or UPS daemons when the
+                                        kernel or UPS daemons when
                                         power fails.</para>
                                 </listitem>
                         </varlistentry>
@@ -221,8 +490,8 @@
 
                                         <para>Services that can be
                                         socket-activated shall add
-                                        Wants dependencies from this
-                                        unit to their socket unit
+                                        Wants dependencies to this
+                                        unit for their socket unit
                                         during installation.</para>
                                 </listitem>
                         </varlistentry>
@@ -240,9 +509,10 @@
                                 <listitem>
                                         <para>systemd automatically
                                         adds dependencies of type
-                                        After to this target unit for
-                                        all SysV init scripts with an
-                                        LSB header referring to the
+                                        After for this target unit to
+                                        all SysV init script service
+                                        units with an LSB header
+                                        referring to the
                                         <literal>$syslog</literal>
                                         facility.</para>
 
@@ -250,9 +520,10 @@
                                         ensure that this target pulls
                                         in a service unit with the
                                         name or alias of
-                                        <filename>@SPECIAL_SYSLOG_NAME@</filename> (or a
-                                        socket unit that activates
-                                        this service).</para>
+                                        <filename>@SPECIAL_SYSLOG_SERVICE@</filename>
+                                        (or a socket unit that
+                                        activates this
+                                        service).</para>
                                 </listitem>
                         </varlistentry>
                         <varlistentry>
@@ -279,10 +550,10 @@
                         <varlistentry>
                                 <term><filename>systemd-logger.service</filename></term>
                                 <listitem>
-                                        <para>This is used internally
+                                        <para>This is internally used
                                         by systemd to provide syslog
-                                        logging to started
-                                        processes.</para>
+                                        logging to the processes it
+                                        maintains.</para>
                                         <para>This is a
                                         socket-activated service, see
                                         <filename>system-logger.socket</filename>.</para>
@@ -293,7 +564,14 @@
                                 <listitem>
                                         <para>Socket activation unit
                                         for
-                                        <filename>system-logger.service</filename>.</para>
+                                        <filename>system-logger.service</filename>. systemd
+                                        will automatically add
+                                        dependencies of types Requires
+                                        and After to all units that
+                                        have been configured for
+                                        stdout or stderr to be
+                                        connected to syslog or the
+                                        kernel log buffer.</para>
                                 </listitem>
                         </varlistentry>
                 </variablelist>
@@ -305,6 +583,7 @@
                 <para>When systemd runs as a service instance, the
                 following special units are available, which have
                 similar definitions as their system counterparts:
+                <filename>default.target</filename>,
                 <filename>local-fs.target</filename>,
                 <filename>remote-fs.target</filename>,
                 <filename>shutdown.target</filename>,
commit b6c2bf61c5de1bb0c4996b0be016d55877d9688c
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon May 17 19:36:22 2010 +0200

    build-sys: fix --distro= configure explations

diff --git a/configure.ac b/configure.ac
index 8636262..1483fcd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -216,13 +216,13 @@ case $with_distro in
                 ;;
         other)
                 AS_IF([test "x$with_sysvinit_path" = "x"],
-                        [AC_MSG_ERROR([With --distro=none, you must pass --with-sysvinit-path= to configure])])
+                        [AC_MSG_ERROR([With --distro=other, you must pass --with-sysvinit-path= to configure])])
                 AS_IF([test "x$with_sysvrcd_path" = "x"],
-                        [AC_MSG_ERROR([With --distro=none, you must pass --with-sysvrcd-path= to configure])])
+                        [AC_MSG_ERROR([With --distro=other, you must pass --with-sysvrcd-path= to configure])])
                 AS_IF([test "x$with_dbus_service" = "x"],
-                        [AC_MSG_ERROR([With --distro=none, you must pass --with-dbus-service= to configure])])
+                        [AC_MSG_ERROR([With --distro=other, you must pass --with-dbus-service= to configure])])
                 AS_IF([test "x$with_syslog_service" = "x"],
-                        [AC_MSG_ERROR([With --distro=none, you must pass --with-syslog-service= to configure])])
+                        [AC_MSG_ERROR([With --distro=other, you must pass --with-syslog-service= to configure])])
                 ;;
         *)
                 AC_MSG_ERROR([Your distribution (${with_distro}) is not yet supported, SysV init scripts could not be found! (patches welcome); you can specify --with-distro=other to skip this check])
commit 1486dbe1c6510376a900c8c99f8bc032c8fa9cdb
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon May 17 19:35:36 2010 +0200

    docs: update DISTRO_PORTING a little

diff --git a/DISTRO_PORTING b/DISTRO_PORTING
index 4190538..59e4e92 100644
--- a/DISTRO_PORTING
+++ b/DISTRO_PORTING
@@ -1,5 +1,6 @@
 Porting systemd To New Distributions
 
+HOWTO:
         You need to make the follow changes to adapt systemd to your
         distribution:
 
@@ -22,15 +23,35 @@ Porting systemd To New Distributions
         and you should be able to find the places where you need to
         add/change things.
 
-        4) Try it out.
+        4) Try it out. Play around with 'systemd --test
+        --running-as=init' for a test run of systemd without
+        booting. This will read the unit files and print the initial
+        transaction it would execute during boot-up. This will also
+        inform you about ordering loops and suchlike.
 
 CONTRIBUTING UPSTREAM:
-
         We are interested in merging your changes upstream, if they
         are for a big, and well-known distribution. Unfortunately we
         don't have the time and resources to maintain
         distribution-specific patches for all distributions on the
-        planet, hence please do not send us patches that adds systemd
-        support to non-mainstream or niche distributions.
+        planet, hence please do not send us patches that add systemd
+        support for non-mainstream or niche distributions.
 
         Thank you for understanding.
+
+BE CONSIDERATE:
+        We'd like to keep differences between the distributions
+        minimal. This both simplifies our maintainance work, as well
+        as it helps administrators to move from one distribution to
+        another.
+
+        Hence we'd like to ask you to keep your changes minimal, and
+        not rename any units without a very good reason (if you need a
+        particular name for compatibility reasons, consider using
+        alias names via symlinks). Before you make changes that change
+        semantics from upstream, please talk to us!
+
+        In SysV almost every distribution uses a different
+        nomenclature and different locations for the boot-up
+        scripts. We'd like to avoid chaos like that with systemd right
+        from the beginning. So please, be considerate!


More information about the systemd-commits mailing list