[systemd-commits] 2 commits - configure.ac DISTRO_PORTING Makefile.am units/basic.target.m4 units/fedora units/getty at .service.m4 units/getty.target units/.gitignore units/graphical.target.m4 units/halt.target units/multi-user.target.m4 units/poweroff.target units/reboot.target units/rescue.target

Lennart Poettering lennart at kemper.freedesktop.org
Sun May 16 16:41:17 PDT 2010


 DISTRO_PORTING                |   36 ++++++++++++
 Makefile.am                   |  125 ++++++++++++++++++++++++++++++++++++------
 configure.ac                  |    2 
 units/.gitignore              |    4 +
 units/basic.target.m4         |   28 +++++++++
 units/fedora/Makefile         |    1 
 units/fedora/halt.service     |   29 +++++++++
 units/fedora/killall.service  |   25 ++++++++
 units/fedora/poweroff.service |   28 +++++++++
 units/fedora/prefdm.service   |   27 +++++++++
 units/fedora/rc-local.service |   31 ++++++++++
 units/fedora/reboot.service   |   28 +++++++++
 units/fedora/sysinit.service  |   26 ++++++++
 units/getty.target            |   19 ++++++
 units/getty at .service.m4       |   29 +++++++++
 units/graphical.target.m4     |   27 +++++++++
 units/halt.target             |   23 +++++++
 units/multi-user.target.m4    |   27 +++++++++
 units/poweroff.target         |   24 ++++++++
 units/reboot.target           |   24 ++++++++
 units/rescue.target           |   24 ++++++++
 21 files changed, 570 insertions(+), 17 deletions(-)

New commits:
commit eb10a76494542fb560efd09c16b40826fc37bc5f
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon May 17 01:39:51 2010 +0200

    docs: add terse distribution porting guide

diff --git a/DISTRO_PORTING b/DISTRO_PORTING
new file mode 100644
index 0000000..4190538
--- /dev/null
+++ b/DISTRO_PORTING
@@ -0,0 +1,36 @@
+Porting systemd To New Distributions
+
+        You need to make the follow changes to adapt systemd to your
+        distribution:
+
+        0) Make your distribution recognized via the autoconf checks
+        in configure.ac. Grep for the word "fedora" (case
+        insensitively) and you should be able to find the places where
+        you need to add/change things.
+
+        1) Patch src/hostname-setup.c so that systemd knows where to
+        read your host name from.
+
+        2) Check the unit files in units/ if they match your
+        distribution. Most likely you will have to make additions to
+        units/*.m4 and create a copy of units/fedora/ with changes for
+        your distribution.
+
+        3) Adjust Makefile.am to register the unit files you added in
+        step 2. Also you might need to update the m4 invocation in
+        Makefile.am. Grep for the word "fedora" (case insensitively)
+        and you should be able to find the places where you need to
+        add/change things.
+
+        4) Try it out.
+
+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.
+
+        Thank you for understanding.
diff --git a/Makefile.am b/Makefile.am
index 973c08e..683a00b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -102,7 +102,8 @@ EXTRA_DIST = \
 	units/systemd-logger.service.in \
 	units/syslog.target.in \
 	LICENSE \
-	README
+	README \
+	DISTRO_PORTING
 
 if TARGET_FEDORA
 dist_systemunit_DATA += \
commit 5e6afdd3d359fc42de7ac432243e98673577e81f
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon May 17 01:34:36 2010 +0200

    units: add distribution-specific units

diff --git a/Makefile.am b/Makefile.am
index 7cbbe47..973c08e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -66,10 +66,15 @@ dist_udevrules_DATA = \
 
 dist_systemunit_DATA = \
 	units/emergency.service \
+	units/getty.target \
+	units/halt.target \
 	units/local-fs.target \
 	units/network.target \
 	units/nss-lookup.target \
+	units/poweroff.target \
+	units/reboot.target \
 	units/remote-fs.target \
+	units/rescue.target \
 	units/rpcbind.target \
 	units/rtc-set.target \
 	units/shutdown.target \
@@ -80,17 +85,36 @@ dist_systemunit_DATA = \
 	units/systemd-logger.socket
 
 systemunit_DATA = \
+	units/basic.target \
+	units/getty at .service \
+	units/graphical.target \
+	units/multi-user.target \
 	units/systemd-initctl.service \
 	units/systemd-logger.service \
 	units/syslog.target
 
 EXTRA_DIST = \
+	units/basic.target.m4 \
+	units/getty at .service.m4 \
+	units/graphical.target.m4 \
+	units/multi-user.target.m4 \
 	units/systemd-initctl.service.in \
 	units/systemd-logger.service.in \
 	units/syslog.target.in \
 	LICENSE \
 	README
 
+if TARGET_FEDORA
+dist_systemunit_DATA += \
+	units/fedora/halt.service \
+	units/fedora/killall.service \
+	units/fedora/poweroff.service \
+	units/fedora/prefdm.service \
+	units/fedora/rc-local.service \
+	units/fedora/reboot.service \
+	units/fedora/sysinit.service
+endif
+
 # This is needed because automake is buggy in how it generates the
 # rules for C programs, but not Vala programs.  We therefore can't
 # list the .h files as dependencies if we want make dist to work.
@@ -275,22 +299,43 @@ systemadm_SOURCES = \
 systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
 systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
 
-units/systemd-initctl.service: units/systemd-initctl.service.in Makefile
-	$(MKDIR_P) units
-	$(SED) -e 's, at libexecdir\@,$(libexecdir),g' \
+SED_PROCESS = \
+	$(MKDIR_P) units && \
+	$(SED)  -e 's, at libexecdir\@,$(libexecdir),g' \
 		-e 's, at pkglibexecdir\@,$(pkglibexecdir),g' \
+		-e 's, at SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
 		< $< > $@
 
+units/systemd-initctl.service: units/systemd-initctl.service.in Makefile
+	$(SED_PROCESS)
+
 units/systemd-logger.service: units/systemd-logger.service.in Makefile
-	$(MKDIR_P) units
-	$(SED) -e 's, at libexecdir\@,$(libexecdir),g' \
-		-e 's, at pkglibexecdir\@,$(pkglibexecdir),g' \
-		< $< > $@
+	$(SED_PROCESS)
 
 units/syslog.target: units/syslog.target.in Makefile
-	$(MKDIR_P) units
-	$(SED) -e 's, at SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
-		< $< > $@
+	$(SED_PROCESS)
+
+M4_FLAGS =
+
+if TARGET_FEDORA
+M4_FLAGS += -DTARGET_FEDORA=1
+endif
+
+M4_PROCESS = \
+	$(MKDIR_P) units && \
+	$(M4) -P $(M4_FLAGS) < $< > $@
+
+units/basic.target: units/basic.target.m4 Makefile
+	$(M4_PROCESS)
+
+units/graphical.target: units/graphical.target.m4 Makefile
+	$(M4_PROCESS)
+
+units/multi-user.target: units/multi-user.target.m4 Makefile
+	$(M4_PROCESS)
+
+units/getty at .service: units/getty at .service.m4 Makefile
+	$(M4_PROCESS)
 
 CLEANFILES = \
 	src/systemd-interfaces.c \
@@ -298,7 +343,11 @@ CLEANFILES = \
 	src/systemadm.c \
 	units/systemd-initctl.service \
 	units/systemd-logger.service \
-	units/syslog.target
+	units/syslog.target \
+	units/basic.target \
+	units/getty at .service \
+	units/graphical.target \
+	units/multi-user.target
 
 if HAVE_XSLTPROC
 man/%.5 man/%.7: man/%.xml
@@ -318,22 +367,63 @@ install-data-hook:
 	$(MKDIR_P) -m 0755 \
 		$(DESTDIR)$(systemunitdir) \
 		$(DESTDIR)$(sessionunitdir) \
+		$(DESTDIR)$(systemunitdir)/sockets.target.wants \
 		$(DESTDIR)$(pkgsysconfdir)/system \
-		$(DESTDIR)$(pkgsysconfdir)/system/sockets.target.wants \
+		$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
+		$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
+		$(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
 		$(DESTDIR)$(pkgsysconfdir)/session \
 		$(DESTDIR)$(sysconfdir)/xdg/systemd \
 		$(DESTDIR)/cgroup/debug
 	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
 		rm -f session && \
-		$(LN_S) $(DESTDIR)$(pkgsysconfdir)/session session )
-	( cd $(DESTDIR)$(pkgsysconfdir)/system/sockets.target.wants && \
+		$(LN_S) $(pkgsysconfdir)/session session )
+	( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
 		rm -f systemd-initctl.socket systemd-logger.socket && \
-		$(LN_S) $(DESTDIR)$(systemunitdir)/systemd-logger.socket systemd-logger.socket && \
-		$(LN_S) $(DESTDIR)$(systemunitdir)/systemd-initctl.socket systemd-initctl.socket )
+		$(LN_S) ../systemd-logger.socket systemd-logger.socket && \
+		$(LN_S) ../systemd-initctl.socket systemd-initctl.socket )
 	( cd $(DESTDIR)$(sessionunitdir) && \
 		rm -f shutdown.target sockets.target && \
 		$(LN_S) ../system/shutdown.target shutdown.target && \
 		$(LN_S) ../system/sockets.target sockets.target )
+	( cd $(DESTDIR)$(systemunitdir) && \
+		rm -f runlevel0.target runlevel1.target runlevel6.target && \
+		$(LN_S) poweroff.target runlevel0.target && \
+		$(LN_S) rescue.target runlevel1.target && \
+		$(LN_S) reboot.target runlevel6.target )
+	( cd $(DESTDIR)$(pkgsysconfdir)/system && \
+		rm -f default.target ctrl-alt-del.target kbrequest.target && \
+		$(LN_S) $(systemunitdir)/graphical.target default.target && \
+		$(LN_S) $(systemunitdir)/reboot.target ctrl-alt-del.target && \
+		$(LN_S) $(systemunitdir)/rescue.target kbrequest.target && \
+		rm -f runlevel2.target runlevel3.target runlevel4.target runlevel5.target && \
+		$(LN_S) $(systemunitdir)/multi-user.target runlevel2.target && \
+		$(LN_S) $(systemunitdir)/multi-user.target runlevel3.target && \
+		$(LN_S) $(systemunitdir)/multi-user.target runlevel4.target && \
+		$(LN_S) $(systemunitdir)/graphical.target runlevel5.target )
+	( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
+		rm -f getty at tty1.service getty at tty2.service getty at tty3.service getty at tty4.service getty at tty5.service getty at tty6.service && \
+		$(LN_S) $(systemunitdir)/getty at .service getty at tty1.service && \
+		$(LN_S) $(systemunitdir)/getty at .service getty at tty2.service && \
+		$(LN_S) $(systemunitdir)/getty at .service getty at tty3.service && \
+		$(LN_S) $(systemunitdir)/getty at .service getty at tty4.service && \
+		$(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 )
+if TARGET_FEDORA
+	( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \
+		rm -f prefdm.service && \
+		$(LN_S) $(systemunitdir)/prefdm.service prefdm.service )
+	( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
+		rm -f rc-local.service && \
+		$(LN_S) $(systemunitdir)/rc-local.service rc-local.service )
+	( cd $(DESTDIR)$(systemunitdir) && \
+		rm -f local.service && \
+		$(LN_S) rc-local.service local.service )
+endif
+
 
 DISTCHECK_CONFIGURE_FLAGS = \
 	--with-udevrulesdir=$$dc_install_base/$(udevrulesdir)
diff --git a/configure.ac b/configure.ac
index a94c2fc..8636262 100644
--- a/configure.ac
+++ b/configure.ac
@@ -142,6 +142,8 @@ AC_SUBST(VAPIDIR)
 AC_PATH_PROG([XSLTPROC], [xsltproc])
 AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x)
 
+AC_PATH_PROG([M4], [m4])
+
 AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo or other]))
 if test "z$with_distro" = "z"; then
         if test "$cross_compiling" = yes; then
diff --git a/units/.gitignore b/units/.gitignore
index 02fd430..21b3b38 100644
--- a/units/.gitignore
+++ b/units/.gitignore
@@ -1,3 +1,7 @@
 systemd-initctl.service
 systemd-logger.service
 syslog.target
+basic.target
+graphical.target
+multi-user.target
+getty at .service
diff --git a/units/basic.target.m4 b/units/basic.target.m4
new file mode 100644
index 0000000..437e33d
--- /dev/null
+++ b/units/basic.target.m4
@@ -0,0 +1,28 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# 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
+
+m4_ifdef(`TARGET_FEDORA',
+# Hook in Fedora's /etc/rc.d/rc.sysinit
+Requires=sysinit.service
+After=sysinit.service)
diff --git a/units/fedora/Makefile b/units/fedora/Makefile
new file mode 120000
index 0000000..50be211
--- /dev/null
+++ b/units/fedora/Makefile
@@ -0,0 +1 @@
+../../src/Makefile
\ No newline at end of file
diff --git a/units/fedora/halt.service b/units/fedora/halt.service
new file mode 100644
index 0000000..372b7e6
--- /dev/null
+++ b/units/fedora/halt.service
@@ -0,0 +1,29 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Halt
+Requires=shutdown.target killall.service
+After=shutdown.target killall.service
+
+[Service]
+Type=finish
+Environment=INIT_HALT=HALT
+Environment=RUNLEVEL=0
+ExecStart=/etc/init.d/halt start
diff --git a/units/fedora/killall.service b/units/fedora/killall.service
new file mode 100644
index 0000000..1a6d47f
--- /dev/null
+++ b/units/fedora/killall.service
@@ -0,0 +1,25 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Kill All Processes
+
+[Service]
+Type=finish
+ExecStart=/etc/init.d/killall start
diff --git a/units/fedora/poweroff.service b/units/fedora/poweroff.service
new file mode 100644
index 0000000..82b9fac
--- /dev/null
+++ b/units/fedora/poweroff.service
@@ -0,0 +1,28 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Power-Off
+Requires=shutdown.target killall.service
+After=shutdown.target killall.service
+
+[Service]
+Type=finish
+Environment=RUNLEVEL=0
+ExecStart=/etc/init.d/halt start
diff --git a/units/fedora/prefdm.service b/units/fedora/prefdm.service
new file mode 100644
index 0000000..6ee3503
--- /dev/null
+++ b/units/fedora/prefdm.service
@@ -0,0 +1,27 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Display Manager
+Before=graphical.target
+After=basic.target syslog.target messagebus.service haldaemon.service
+
+[Service]
+ExecStart=/etc/X11/prefdm -nodaemon
+Type=simple
diff --git a/units/fedora/rc-local.service b/units/fedora/rc-local.service
new file mode 100644
index 0000000..b3ece1e
--- /dev/null
+++ b/units/fedora/rc-local.service
@@ -0,0 +1,31 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=/etc/rc.local Compatibility
+Requires=basic.target
+
+# The rcN.d symlink uses the name "local" while the script itself is
+# called "rc.local", hence carry both names here.
+Names=rc-local.service local.service
+
+[Service]
+ExecStart=/etc/rc.local start
+Type=simple
+SysVStartPriority=99
diff --git a/units/fedora/reboot.service b/units/fedora/reboot.service
new file mode 100644
index 0000000..45a2934
--- /dev/null
+++ b/units/fedora/reboot.service
@@ -0,0 +1,28 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Reboot
+Requires=shutdown.target killall.service
+After=shutdown.target killall.service
+
+[Service]
+Type=finish
+Environment=RUNLEVEL=6
+ExecStart=/etc/init.d/reboot start
diff --git a/units/fedora/sysinit.service b/units/fedora/sysinit.service
new file mode 100644
index 0000000..fc71453
--- /dev/null
+++ b/units/fedora/sysinit.service
@@ -0,0 +1,26 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=System Initialization
+Before=local-fs.target remote-fs.target swap.target sockets.target
+
+[Service]
+ExecStart=/etc/rc.d/rc.sysinit
+Type=finish
diff --git a/units/getty.target b/units/getty.target
new file mode 100644
index 0000000..099d952
--- /dev/null
+++ b/units/getty.target
@@ -0,0 +1,19 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+[Unit]
+Description=Login Prompts
diff --git a/units/getty at .service.m4 b/units/getty at .service.m4
new file mode 100644
index 0000000..b4dfaf2
--- /dev/null
+++ b/units/getty at .service.m4
@@ -0,0 +1,29 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+m4_ifdef(`TARGET_FEDORA', m4_define(`GETTY', `/sbin/mingetty'))m4_dnl
+m4_ifdef(`TARGET_DEBIAN', m4_define(`GETTY', `/sbin/getty 38400'))m4_dnl
+
+[Unit]
+Description=Getty on %I
+Before=getty.target
+After=basic.target
+
+[Service]
+Type=simple
+ExecStart=GETTY %I
diff --git a/units/graphical.target.m4 b/units/graphical.target.m4
new file mode 100644
index 0000000..151ad6b
--- /dev/null
+++ b/units/graphical.target.m4
@@ -0,0 +1,27 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Graphical Interface
+Requires=multi-user.target
+After=multi-user.target
+
+m4_ifdef(`TARGET_FEDORA',
+# On Fedora Runlevel 5 is graphical login
+Names=runlevel5.target)
diff --git a/units/halt.target b/units/halt.target
new file mode 100644
index 0000000..2b46198
--- /dev/null
+++ b/units/halt.target
@@ -0,0 +1,23 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Halt
+Requires=halt.service
+After=halt.service
diff --git a/units/multi-user.target.m4 b/units/multi-user.target.m4
new file mode 100644
index 0000000..a841f9a
--- /dev/null
+++ b/units/multi-user.target.m4
@@ -0,0 +1,27 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Multi-User
+Requires=basic.target
+After=basic.target
+
+m4_ifdef(`TARGET_FEDORA',
+# On Fedora Runlevel 3 is multi-user
+Names=runlevel3.target)
diff --git a/units/poweroff.target b/units/poweroff.target
new file mode 100644
index 0000000..df491a1
--- /dev/null
+++ b/units/poweroff.target
@@ -0,0 +1,24 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Power-Off
+Names=runlevel0.target
+Requires=poweroff.service
+After=poweroff.service
diff --git a/units/reboot.target b/units/reboot.target
new file mode 100644
index 0000000..cb7ddeb
--- /dev/null
+++ b/units/reboot.target
@@ -0,0 +1,24 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Reboot
+Names=runlevel6.target
+Requires=reboot.service
+After=reboot.service
diff --git a/units/rescue.target b/units/rescue.target
new file mode 100644
index 0000000..eb0921e
--- /dev/null
+++ b/units/rescue.target
@@ -0,0 +1,24 @@
+#  This file is part of systemd.
+#
+#  Copyright 2010 Lennart Poettering
+#
+#  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.
+#
+#  systemd is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Rescue Prompt
+Requires=basic.target
+After=basic.target
+Names=runlevel1.target


More information about the systemd-commits mailing list