From: Kay Sievers Date: Mon, 6 Jan 2014 03:52:17 +0000 (+0400) Subject: core: --user -- add basic.target an sort against it like --system does X-Git-Tag: v209~522 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=fccd44ec3a7abd305b558d39f54b5ef223f00b68 core: --user -- add basic.target an sort against it like --system does --- diff --git a/Makefile.am b/Makefile.am index 069583cfd..aed8c326a 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 6fbde2b8f..23810b39a 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 000000000..b74d13c29 --- /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 71eed51b0..9853c33b4 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