[systemd-commits] Makefile.am man/systemd.special.xml.in src/manager.h src/service.c units/basic.target units/basic.target.m4 units/dev-hugepages.automount units/dev-mqueue.automount units/.gitignore units/proc-sys-fs-binfmt_misc.automount units/sysinit.target.m4 units/sys-kernel-debug.automount units/sys-kernel-security.automount units/systemd-initctl.socket units/systemd-logger.socket
Lennart Poettering
lennart at kemper.freedesktop.org
Fri Jun 4 09:43:48 PDT 2010
Makefile.am | 16 +++++++------
man/systemd.special.xml.in | 37 +++++++++++++++++++++++---------
src/manager.h | 1
src/service.c | 4 +--
units/.gitignore | 2 -
units/basic.target | 14 ++++++++++++
units/basic.target.m4 | 21 ------------------
units/dev-hugepages.automount | 2 -
units/dev-mqueue.automount | 2 -
units/proc-sys-fs-binfmt_misc.automount | 2 -
units/sys-kernel-debug.automount | 2 -
units/sys-kernel-security.automount | 2 -
units/sysinit.target.m4 | 19 ++++++++++++++++
units/systemd-initctl.socket | 1
units/systemd-logger.socket | 1
15 files changed, 80 insertions(+), 46 deletions(-)
New commits:
commit f92a18f5274ad506aed600b2ed8f4a560c510807
Author: Lennart Poettering <lennart at poettering.net>
Date: Fri Jun 4 18:43:40 2010 +0200
units: introduce and explain sysinit.target
diff --git a/Makefile.am b/Makefile.am
index b255b7a..28e52fe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -87,6 +87,7 @@ interface_DATA = \
dist_systemunit_DATA = \
units/emergency.service \
+ units/basic.target \
units/getty.target \
units/halt.target \
units/local-fs.target \
@@ -119,7 +120,7 @@ dist_systemunit_DATA = \
units/var-run.mount
systemunit_DATA = \
- units/basic.target \
+ units/sysinit.target \
units/getty at .service \
units/graphical.target \
units/multi-user.target \
@@ -135,7 +136,7 @@ sessionunit_DATA = \
units/session/exit.service
EXTRA_DIST = \
- units/basic.target.m4 \
+ units/sysinit.target.m4 \
units/getty at .service.m4 \
units/graphical.target.m4 \
units/multi-user.target.m4 \
@@ -398,7 +399,7 @@ CLEANFILES = \
units/systemd-initctl.service \
units/systemd-logger.service \
units/syslog.target \
- units/basic.target \
+ units/sysinit.target \
units/getty at .service \
units/graphical.target \
units/multi-user.target \
@@ -470,7 +471,7 @@ install-data-hook:
$(DESTDIR)$(systemunitdir) \
$(DESTDIR)$(sessionunitdir) \
$(DESTDIR)$(systemunitdir)/sockets.target.wants \
- $(DESTDIR)$(systemunitdir)/basic.target.wants \
+ $(DESTDIR)$(systemunitdir)/sysinit.target.wants \
$(DESTDIR)$(pkgsysconfdir)/system \
$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
@@ -516,9 +517,10 @@ install-data-hook:
$(LN_S) $(systemunitdir)/getty at .service getty at tty5.service && \
$(LN_S) $(systemunitdir)/getty at .service getty at tty6.service )
( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
- rm -f getty.target && \
- $(LN_S) $(systemunitdir)/getty.target getty.target )
- ( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
+ rm -f getty.target remote-fs.target && \
+ $(LN_S) $(systemunitdir)/getty.target getty.target && \
+ $(LN_S) $(systemunitdir)/remote-fs.target remote-fs.target )
+ ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
rm -f dev-hugepages.automount \
dev-mqueue.automount \
proc-sys-fs-binfmt_misc.automount \
diff --git a/man/systemd.special.xml.in b/man/systemd.special.xml.in
index 1d9c132..a2e1bb2 100644
--- a/man/systemd.special.xml.in
+++ b/man/systemd.special.xml.in
@@ -80,6 +80,7 @@
<filename>sigpwr.target</filename>,
<filename>sockets.target</filename>,
<filename>swap.target</filename>,
+ <filename>sysinit.target</filename>,
<filename>syslog.target</filename>,
<filename>@SPECIAL_SYSLOG_SERVICE@</filename>,
<filename>systemd-initctl.service</filename>,
@@ -111,16 +112,15 @@
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>
+ <para>Usually this should pull
+ in all sockets, mount points,
+ swap devices and other basic
+ initialization necessary for
+ the general purpose
+ daemons. Most normal daemon
+ should have dependencies of
+ type After and Requires on
+ this unit.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -587,6 +587,23 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><filename>sysinit.target</filename></term>
+ <listitem>
+ <para>A special target unit
+ covering early boot-up scripts.</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>@SPECIAL_SYSLOG_SERVICE@</filename></term>
<listitem>
<para>A special unit for the
diff --git a/src/manager.h b/src/manager.h
index 210e660..a2084e9 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -108,6 +108,7 @@ struct Watch {
#define SPECIAL_DISPLAY_MANAGER_SERVICE "display-manager.service" /* Debian's $x-display-manager */
#define SPECIAL_MAIL_TRANSFER_AGENT_TARGET "mail-transfer-agent.target" /* Debian's $mail-{transport|transfer-agent */
#define SPECIAL_BASIC_TARGET "basic.target"
+#define SPECIAL_SYSINIT_TARGET "sysinit.target"
#define SPECIAL_RESCUE_TARGET "rescue.target"
#define SPECIAL_EXIT_SERVICE "exit.service"
diff --git a/src/service.c b/src/service.c
index 2ce95f5..c276a9a 100644
--- a/src/service.c
+++ b/src/service.c
@@ -58,10 +58,10 @@ static const struct {
{ "rc6.d", SPECIAL_RUNLEVEL6_TARGET, RUNLEVEL_DOWN },
/* SUSE style boot.d */
- { "boot.d", SPECIAL_BASIC_TARGET, RUNLEVEL_BASIC },
+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_BASIC },
/* Debian style rcS.d */
- { "rcS.d", SPECIAL_BASIC_TARGET, RUNLEVEL_BASIC },
+ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_BASIC },
};
#define RUNLEVELS_UP "12345"
diff --git a/units/.gitignore b/units/.gitignore
index 7e61543..ea85dc0 100644
--- a/units/.gitignore
+++ b/units/.gitignore
@@ -1,7 +1,7 @@
systemd-initctl.service
systemd-logger.service
syslog.target
-basic.target
+sysinit.target
graphical.target
multi-user.target
getty at .service
diff --git a/units/basic.target b/units/basic.target
new file mode 100644
index 0000000..aa94b94
--- /dev/null
+++ b/units/basic.target
@@ -0,0 +1,14 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Basic System
+Requires=sysinit.target local-fs.target swap.target sockets.target
+After=sysinit.target local-fs.target swap.target sockets.target
+OnlyByDependency=yes
diff --git a/units/basic.target.m4 b/units/basic.target.m4
deleted file mode 100644
index 537ad8d..0000000
--- a/units/basic.target.m4
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file is part of systemd.
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# See systemd.special(7) for details
-
-[Unit]
-Description=Basic System
-Requires=local-fs.target swap.target sockets.target
-After=local-fs.target swap.target sockets.target
-Conflicts=emergency.service
-OnlyByDependency=yes
-m4_dnl
-m4_ifdef(`TARGET_FEDORA',
-m4_dnl Hook in Fedora's /etc/rc.d/rc.sysinit
-Requires=sysinit.service
-After=sysinit.service
-)m4_dnl
diff --git a/units/dev-hugepages.automount b/units/dev-hugepages.automount
index 9fef9ee..4e7f8ff 100644
--- a/units/dev-hugepages.automount
+++ b/units/dev-hugepages.automount
@@ -7,7 +7,7 @@
[Unit]
Description=Huge Pages File System Automount Point
-Before=basic.target
+Before=sysinit.target
[Automount]
Where=/dev/hugepages
diff --git a/units/dev-mqueue.automount b/units/dev-mqueue.automount
index a24ffe6..4df53dc 100644
--- a/units/dev-mqueue.automount
+++ b/units/dev-mqueue.automount
@@ -7,7 +7,7 @@
[Unit]
Description=POSIX Message Queue File System Automount Point
-Before=basic.target
+Before=sysinit.target
[Automount]
Where=/dev/mqueue
diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
index 4e9b23b..82369c5 100644
--- a/units/proc-sys-fs-binfmt_misc.automount
+++ b/units/proc-sys-fs-binfmt_misc.automount
@@ -7,7 +7,7 @@
[Unit]
Description=Arbitrary Executable File Formats File System Automount Point
-Before=basic.target
+Before=sysinit.target
[Automount]
Where=/proc/sys/fs/binfmt_misc
diff --git a/units/sys-kernel-debug.automount b/units/sys-kernel-debug.automount
index 3d5b52d..4da3f20 100644
--- a/units/sys-kernel-debug.automount
+++ b/units/sys-kernel-debug.automount
@@ -7,7 +7,7 @@
[Unit]
Description=Debug File System Automount Point
-Before=basic.target
+Before=sysinit.target
[Automount]
Where=/sys/kernel/debug
diff --git a/units/sys-kernel-security.automount b/units/sys-kernel-security.automount
index 061a5a2..5d8356e 100644
--- a/units/sys-kernel-security.automount
+++ b/units/sys-kernel-security.automount
@@ -7,7 +7,7 @@
[Unit]
Description=Security File System Automount Point
-Before=basic.target
+Before=sysinit.target
[Automount]
Where=/sys/kernel/security
diff --git a/units/sysinit.target.m4 b/units/sysinit.target.m4
new file mode 100644
index 0000000..68c661e
--- /dev/null
+++ b/units/sysinit.target.m4
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Systemd Initialization
+Conflicts=emergency.service
+OnlyByDependency=yes
+m4_dnl
+m4_ifdef(`TARGET_FEDORA',
+m4_dnl Hook in Fedora's /etc/rc.d/rc.sysinit
+Requires=sysinit.service
+After=sysinit.service
+)m4_dnl
diff --git a/units/systemd-initctl.socket b/units/systemd-initctl.socket
index fdb95de..af5cca2 100644
--- a/units/systemd-initctl.socket
+++ b/units/systemd-initctl.socket
@@ -9,6 +9,7 @@
[Unit]
Description=systemd /dev/initctl Compatibility Socket
+After=sysinit.target
[Socket]
ListenFIFO=/dev/initctl
diff --git a/units/systemd-logger.socket b/units/systemd-logger.socket
index f62b582..7195a9e 100644
--- a/units/systemd-logger.socket
+++ b/units/systemd-logger.socket
@@ -9,6 +9,7 @@
[Unit]
Description=systemd Logging Socket
+After=sysinit.target
[Socket]
ListenStream=@/org/freedesktop/systemd1/logger
More information about the systemd-commits
mailing list