diff --git a/Makefile.am b/Makefile.am index 013f424f71..d1ce02c849 100644 --- a/Makefile.am +++ b/Makefile.am @@ -146,7 +146,8 @@ nodist_systemunit_DATA = \ units/multi-user.target \ units/systemd-initctl.service \ units/systemd-logger.service \ - units/syslog.target + units/syslog.target \ + units/dbus.target dist_sessionunit_DATA = \ units/session/default.target @@ -164,6 +165,7 @@ EXTRA_DIST = \ units/systemd-initctl.service.in \ units/systemd-logger.service.in \ units/syslog.target.in \ + units/dbus.target.in \ units/session/exit.service.in \ systemd.pc.in @@ -738,8 +740,8 @@ if TARGET_FEDORA rm -f display-manager.service && \ $(LN_S) $(systemunitdir)/prefdm.service display-manager.service ) ( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \ - rm -f display-manager.service && \ - $(LN_S) ../display-manager.service display-manager.service ) + rm -f prefdm.service && \ + $(LN_S) ../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 ) @@ -754,8 +756,8 @@ if TARGET_GENTOO rm -f display-manager.service && \ $(LN_S) $(systemunitdir)/xdm.service display-manager.service ) ( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \ - rm -f display-manager.service && \ - $(LN_S) ../display-manager.service display-manager.service ) + rm -f prefdm.service && \ + $(LN_S) ../prefdm.service prefdm.service ) endif DISTCHECK_CONFIGURE_FLAGS = \ diff --git a/units/.gitignore b/units/.gitignore index ea85dc081e..75d3bfd0e9 100644 --- a/units/.gitignore +++ b/units/.gitignore @@ -6,3 +6,4 @@ graphical.target multi-user.target getty@.service remote-fs.target +dbus.target diff --git a/units/arch/halt.service b/units/arch/halt.service index 445ca48d44..96553f1ad4 100644 --- a/units/arch/halt.service +++ b/units/arch/halt.service @@ -7,6 +7,7 @@ [Unit] Description=Halt +DefaultDependencies=no Requires=shutdown.target After=shutdown.target Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/arch/poweroff.service b/units/arch/poweroff.service index 3ca8f30e94..d6e42e1a4b 100644 --- a/units/arch/poweroff.service +++ b/units/arch/poweroff.service @@ -7,6 +7,7 @@ [Unit] Description=Power-Off +DefaultDependencies=no Requires=shutdown.target After=shutdown.target Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/arch/rc-local.service b/units/arch/rc-local.service index 45b6e16483..596861ac95 100644 --- a/units/arch/rc-local.service +++ b/units/arch/rc-local.service @@ -7,10 +7,6 @@ [Unit] Description=/etc/rc.local Compatibility -Requires=basic.target -After=basic.target -Conflicts=shutdown.target -Before=getty@tty1.service [Service] ExecStart=/etc/rc.local @@ -18,3 +14,6 @@ ExectStop=/etc/rc.local.shutdown TimeoutSec=0 StandardInput=tty ValidNoProcess=yes + +[Install] +WantedBy=multi-user.target diff --git a/units/arch/reboot.service b/units/arch/reboot.service index 4aa7dc2e81..b2c18842ff 100644 --- a/units/arch/reboot.service +++ b/units/arch/reboot.service @@ -7,6 +7,7 @@ [Unit] Description=Reboot +DefaultDependencies=no Requires=shutdown.target After=shutdown.target Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/arch/sysinit.service b/units/arch/sysinit.service index 8be50d784b..1a19baf2f6 100644 --- a/units/arch/sysinit.service +++ b/units/arch/sysinit.service @@ -7,6 +7,7 @@ [Unit] Description=System Initialization +DefaultDependencies=no Before=local-fs.target remote-fs.target swap.target sockets.target Conflicts=shutdown.target Before=shutdown.target diff --git a/units/dbus.target.in b/units/dbus.target.in new file mode 100644 index 0000000000..6faf58d65d --- /dev/null +++ b/units/dbus.target.in @@ -0,0 +1,17 @@ +# 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=D-Bus + +# As soon as D-Bus has native files this explicit dependency should be +# dropped, and replaced by an alias symlink in the .wants/ directory, +# to either the .service or .socket unit of the D-Bus service. +Requires=@SPECIAL_DBUS_SERVICE@ +After=@SPECIAL_DBUS_SERVICE@ diff --git a/units/emergency.service b/units/emergency.service index 924723fefe..83b7d72b7b 100644 --- a/units/emergency.service +++ b/units/emergency.service @@ -9,6 +9,7 @@ [Unit] Description=Emergency Shell +DefaultDependencies=no [Service] ExecStart=/bin/sh diff --git a/units/fedora/halt.service b/units/fedora/halt.service index 50373d48b6..815c8fbdad 100644 --- a/units/fedora/halt.service +++ b/units/fedora/halt.service @@ -7,6 +7,7 @@ [Unit] Description=Halt +DefaultDependencies=no Requires=shutdown.target killall.service After=shutdown.target killall.service Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/fedora/killall.service b/units/fedora/killall.service index 84c56cb8d3..8ccbbcea8e 100644 --- a/units/fedora/killall.service +++ b/units/fedora/killall.service @@ -7,6 +7,7 @@ [Unit] Description=Kill All Processes +DefaultDependencies=no After=shutdown.target OnlyByDependency=yes diff --git a/units/fedora/poweroff.service b/units/fedora/poweroff.service index f237e32719..2149dbf6db 100644 --- a/units/fedora/poweroff.service +++ b/units/fedora/poweroff.service @@ -7,6 +7,7 @@ [Unit] Description=Power-Off +DefaultDependencies=no Requires=shutdown.target killall.service After=shutdown.target killall.service Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/fedora/prefdm.service b/units/fedora/prefdm.service index 2f4333f3c0..89a96be1c8 100644 --- a/units/fedora/prefdm.service +++ b/units/fedora/prefdm.service @@ -7,13 +7,11 @@ [Unit] Description=Display Manager -Before=graphical.target -Requires=basic.target -After=basic.target syslog.target messagebus.service haldaemon.service -Conflicts=shutdown.target +After=syslog.target dbus.target haldaemon.service [Service] ExecStart=/etc/X11/prefdm -nodaemon [Install] Alias=display-manager.service +WantedBy=graphical.target diff --git a/units/fedora/rc-local.service b/units/fedora/rc-local.service index 58b59820e2..c2d2e00fd7 100644 --- a/units/fedora/rc-local.service +++ b/units/fedora/rc-local.service @@ -7,10 +7,6 @@ [Unit] Description=/etc/rc.local Compatibility -Requires=basic.target -After=basic.target -Conflicts=shutdown.target -Before=getty@tty1.service # The rcN.d symlink uses the name "local" while the script itself is # called "rc.local", hence carry both names here. @@ -22,3 +18,6 @@ TimeoutSec=0 StandardInput=tty ValidNoProcess=yes SysVStartPriority=99 + +[Install] +WantedBy=multi-user.target diff --git a/units/fedora/reboot.service b/units/fedora/reboot.service index b99dfdc8ac..31aa74e141 100644 --- a/units/fedora/reboot.service +++ b/units/fedora/reboot.service @@ -7,6 +7,7 @@ [Unit] Description=Reboot +DefaultDependencies=no Requires=shutdown.target killall.service After=shutdown.target killall.service Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/fedora/sysinit.service b/units/fedora/sysinit.service index 5981552da9..884de8d1d6 100644 --- a/units/fedora/sysinit.service +++ b/units/fedora/sysinit.service @@ -7,6 +7,7 @@ [Unit] Description=System Initialization +DefaultDependencies=no Before=local-fs.target remote-fs.target swap.target sockets.target Conflicts=shutdown.target Before=shutdown.target diff --git a/units/gentoo/halt.service b/units/gentoo/halt.service index c5d96043c0..ecf4cff4f5 100644 --- a/units/gentoo/halt.service +++ b/units/gentoo/halt.service @@ -7,6 +7,7 @@ [Unit] Description=Halt +DefaultDependencies=no Requires=shutdown.target killall.service After=shutdown.target killall.service Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/gentoo/killall.service b/units/gentoo/killall.service index 626e9d1f68..ce4d99ef2e 100644 --- a/units/gentoo/killall.service +++ b/units/gentoo/killall.service @@ -7,6 +7,7 @@ [Unit] Description=Kill All Processes +DefaultDependencies=no After=shutdown.target OnlyByDependency=yes diff --git a/units/gentoo/poweroff.service b/units/gentoo/poweroff.service index 2cc645ec53..2ae1fd7f29 100644 --- a/units/gentoo/poweroff.service +++ b/units/gentoo/poweroff.service @@ -7,6 +7,7 @@ [Unit] Description=Power-Off +DefaultDependencies=no Requires=shutdown.target killall.service After=shutdown.target killall.service Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/gentoo/reboot.service b/units/gentoo/reboot.service index fdca6f866e..353fb4bfcb 100644 --- a/units/gentoo/reboot.service +++ b/units/gentoo/reboot.service @@ -7,6 +7,7 @@ [Unit] Description=Reboot +DefaultDependencies=no Requires=shutdown.target killall.service After=shutdown.target killall.service Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/gentoo/xdm.service b/units/gentoo/xdm.service index ac1df75722..b94c6a8c0a 100644 --- a/units/gentoo/xdm.service +++ b/units/gentoo/xdm.service @@ -7,10 +7,11 @@ [Unit] Description=Display Manager -Before=graphical.target -Requires=basic.target -After=basic.target syslog.target dbus.service hald.service -Conflicts=shutdown.target +After=syslog.target dbus.target hald.service [Service] ExecStart=/etc/init.d/xdm start + +[Install] +Alias=display-manager.service +WantedBy=graphical.target diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 index 5f6944fadb..f1f7f32630 100644 --- a/units/getty@.service.m4 +++ b/units/getty@.service.m4 @@ -14,8 +14,12 @@ m4_dnl [Unit] Description=Getty on %I Before=getty.target -After=basic.target -Conflicts=shutdown.target +m4_ifdef(`TARGET_FEDORA', +After=rc-local.service +)m4_dnl +m4_ifdef(`TARGET_ARCH', +After=rc-local.service +)m4_dnl [Service] Environment=TERM=linux diff --git a/units/session/exit.service.in b/units/session/exit.service.in index 86c8bbc672..1f515a75ce 100644 --- a/units/session/exit.service.in +++ b/units/session/exit.service.in @@ -1,5 +1,6 @@ [Unit] Description=Exit +DefaultDependencies=no Requires=shutdown.target After=shutdown.target diff --git a/units/suse/halt.service b/units/suse/halt.service index bc237f02f0..fbcf154f57 100644 --- a/units/suse/halt.service +++ b/units/suse/halt.service @@ -7,6 +7,7 @@ [Unit] Description=Halt +DefaultDependencies=no Requires=shutdown.target After=shutdown.target Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/suse/poweroff.service b/units/suse/poweroff.service index a68c10cfd3..3da6cf1ba5 100644 --- a/units/suse/poweroff.service +++ b/units/suse/poweroff.service @@ -7,6 +7,7 @@ [Unit] Description=Power-Off +DefaultDependencies=no Requires=shutdown.target After=shutdown.target Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/suse/reboot.service b/units/suse/reboot.service index 3dbb469117..902648c50b 100644 --- a/units/suse/reboot.service +++ b/units/suse/reboot.service @@ -7,6 +7,7 @@ [Unit] Description=Reboot +DefaultDependencies=no Requires=shutdown.target After=shutdown.target Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount diff --git a/units/syslog.target.in b/units/syslog.target.in index 3057eda3cc..b9c4f18c35 100644 --- a/units/syslog.target.in +++ b/units/syslog.target.in @@ -9,5 +9,10 @@ [Unit] Description=Syslog + +# As soon as all syslog services have native unit files this explicit +# dependency should be dropped, and replaced by alias symlinks in the +# .wants/ directory, to either the .service or .socket unit of the +# syslog service. Requires=@SPECIAL_SYSLOG_SERVICE@ After=@SPECIAL_SYSLOG_SERVICE@ diff --git a/units/systemd-initctl.service.in b/units/systemd-initctl.service.in index 7450e07e61..6d56e12bf3 100644 --- a/units/systemd-initctl.service.in +++ b/units/systemd-initctl.service.in @@ -9,6 +9,7 @@ [Unit] Description=systemd /dev/initctl Compatibility Daemon +DefaultDependencies=no [Service] ExecStart=@rootlibexecdir@/systemd-initctl diff --git a/units/systemd-initctl.socket b/units/systemd-initctl.socket index 26b526cdcb..3db2683f6b 100644 --- a/units/systemd-initctl.socket +++ b/units/systemd-initctl.socket @@ -9,6 +9,7 @@ [Unit] Description=systemd /dev/initctl Compatibility Socket +DefaultDependencies=no After=sysinit.target Before=sockets.target diff --git a/units/systemd-logger.service.in b/units/systemd-logger.service.in index 2004438971..2a9ec21067 100644 --- a/units/systemd-logger.service.in +++ b/units/systemd-logger.service.in @@ -9,6 +9,7 @@ [Unit] Description=systemd Logging Daemon +DefaultDependencies=no After=@SPECIAL_SYSLOG_SERVICE@ [Service] diff --git a/units/systemd-logger.socket b/units/systemd-logger.socket index 44684ce1d0..57a590dba9 100644 --- a/units/systemd-logger.socket +++ b/units/systemd-logger.socket @@ -9,6 +9,7 @@ [Unit] Description=systemd Logging Socket +DefaultDependencies=no After=sysinit.target Before=sockets.target