diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-04-01 21:30:40 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-04-01 21:30:40 +0200 |
commit | bd77d0fccccb7c94d1dd52d2e535feb7156e3220 (patch) | |
tree | 03b1adf7be6bcdc6db5be89bc5170a430092987c /service.c | |
parent | dbd4655d8937fb870a6ec42889081ecd4b83ca98 (diff) |
sysv: properly handle Provides LSB header
Diffstat (limited to 'service.c')
-rw-r--r-- | service.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -370,7 +370,13 @@ static int service_load_sysv_path(Service *s, const char *path) { if (r == 0) continue; - r = unit_add_name(u, m); + if (unit_name_to_type(m) == UNIT_SERVICE) + r = unit_add_name(u, m); + else { + if ((r = unit_add_dependency_by_name_inverse(u, UNIT_REQUIRES, m)) >= 0) + r = unit_add_dependency_by_name(u, UNIT_BEFORE, m); + } + free(m); if (r < 0) @@ -568,7 +574,7 @@ static int service_init(Unit *u) { return r; } - /* Load a classic init script as a fallback, if we couldn*t find anything */ + /* Load a classic init script as a fallback, if we couldn't find anything */ if (r == 0) if ((r = service_load_sysv(s)) <= 0) { service_done(u); |