chiark / gitweb /
build-sys: add Mandriva distribution support
[elogind.git] / units / getty@.service.m4
index 5f6944fadbe8dc8c0031889d8fc5b1a426dfa38c..8e1f250ad0080d6ece211284c9d6d132307f03ff 100644 (file)
@@ -5,29 +5,46 @@
 #  the Free Software Foundation; either version 2 of the License, or
 #  (at your option) any later version.
 
-m4_ifdef(`TARGET_FEDORA', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
-m4_ifdef(`TARGET_SUSE', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
-m4_ifdef(`TARGET_DEBIAN', `m4_define(`GETTY', `/sbin/getty 38400')')m4_dnl
-m4_ifdef(`TARGET_GENTOO', `m4_define(`GETTY', `/sbin/agetty 38400')')m4_dnl
-m4_ifdef(`TARGET_ARCH', `m4_define(`GETTY', `/sbin/agetty -8 38400')')m4_dnl
-m4_dnl
 [Unit]
 Description=Getty on %I
+BindTo=dev-%i.device
+After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
+m4_ifdef(`TARGET_FEDORA',
+After=rc-local.service
+)m4_dnl
+m4_ifdef(`TARGET_ARCH',
+After=rc-local.service
+)m4_dnl
+m4_ifdef(`TARGET_FRUGALWARE',
+After=local.service
+)m4_dnl
+m4_ifdef(`TARGET_ALTLINUX',
+After=rc-local.service
+)m4_dnl
+m4_ifdef(`TARGET_MANDRIVA',
+After=rc-local.service
+)m4_dnl
+
+# If additional gettys are spawned during boot then we should make
+# sure that this is synchronized before getty.target, even though
+# getty.target didn't actually pull it in.
 Before=getty.target
-After=basic.target
-Conflicts=shutdown.target
 
 [Service]
 Environment=TERM=linux
-ExecStart=GETTY %I
-Restart=restart-always
+ExecStart=-/sbin/agetty %I 38400
+Restart=always
 RestartSec=0
+UtmpIdentifier=%I
 KillMode=process-group
 
+# Unset locale for the console getty since the console has problems
+# displaying some internationalized messages.
+Environment=LANG= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGE= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=
+
+# Some login implementations ignore SIGTERM, so we send SIGHUP
+# instead, to ensure that login terminates cleanly.
+KillSignal=SIGHUP
+
 [Install]
-Alias=getty.target.wants/getty@tty1.service
-Alias=getty.target.wants/getty@tty2.service
-Alias=getty.target.wants/getty@tty3.service
-Alias=getty.target.wants/getty@tty4.service
-Alias=getty.target.wants/getty@tty5.service
-Alias=getty.target.wants/getty@tty6.service
+Alias=getty.target.wants/getty@tty1.service getty.target.wants/getty@tty2.service getty.target.wants/getty@tty3.service getty.target.wants/getty@tty4.service getty.target.wants/getty@tty5.service getty.target.wants/getty@tty6.service