sysv: add basic.target dependencies only for normal init scripts

This commit is contained in:
Lennart Poettering 2010-04-07 20:28:44 +02:00
parent 8309400a17
commit 0bc824be78
1 changed files with 11 additions and 3 deletions

View File

@ -592,9 +592,17 @@ static int service_load_sysv_path(Service *s, const char *path, UnitLoadState *n
if ((r = sysv_exec_commands(s)) < 0)
goto finish;
if ((r = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_BASIC_TARGET)) < 0 ||
(r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_BASIC_TARGET)) < 0)
goto finish;
if (!s->sysv_runlevels || chars_intersect("12345", s->sysv_runlevels)) {
/* If there a runlevels configured for this service
* but none of the standard ones, then we assume this
* is some special kind of service (which might be
* needed for early boot) and don't create any links
* to it. */
if ((r = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_BASIC_TARGET)) < 0 ||
(r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_BASIC_TARGET)) < 0)
goto finish;
}
*new_state = UNIT_LOADED;
r = 0;