diff options
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | src/core/service.c | 26 | ||||
-rw-r--r-- | units/user/basic.target | 13 | ||||
-rw-r--r-- | units/user/default.target | 2 |
4 files changed, 20 insertions, 22 deletions
diff --git a/Makefile.am b/Makefile.am index 069583cfd4..aed8c326a7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -460,6 +460,7 @@ nodist_systemunit_DATA = \ units/systemd-nspawn@.service dist_userunit_DATA = \ + units/user/basic.target \ units/user/default.target \ units/user/exit.target diff --git a/src/core/service.c b/src/core/service.c index 6fbde2b8f2..23810b39a9 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -1138,28 +1138,10 @@ static int service_add_default_dependencies(Service *s) { * majority of services. */ /* First, pull in base system */ - if (UNIT(s)->manager->running_as == SYSTEMD_SYSTEM) { - r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, - SPECIAL_BASIC_TARGET, NULL, true); - if (r < 0) - return r; - - } else if (UNIT(s)->manager->running_as == SYSTEMD_USER) { - r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, - SPECIAL_SOCKETS_TARGET, NULL, true); - if (r < 0) - return r; - - r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, - SPECIAL_TIMERS_TARGET, NULL, true); - if (r < 0) - return r; - - r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, - SPECIAL_PATHS_TARGET, NULL, true); - if (r < 0) - return r; - } + r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, + SPECIAL_BASIC_TARGET, NULL, true); + if (r < 0) + return r; /* Second, activate normal shutdown */ r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, diff --git a/units/user/basic.target b/units/user/basic.target new file mode 100644 index 0000000000..b74d13c29c --- /dev/null +++ b/units/user/basic.target @@ -0,0 +1,13 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Basic System +Documentation=man:systemd.special(7) +Wants=sockets.target timers.target paths.target +After=sockets.target timers.target paths.target +RefuseManualStart=yes diff --git a/units/user/default.target b/units/user/default.target index 71eed51b09..9853c33b40 100644 --- a/units/user/default.target +++ b/units/user/default.target @@ -8,4 +8,6 @@ [Unit] Description=Default Documentation=man:systemd.special(7) +Requires=basic.target +After=basic.target AllowIsolate=yes |