summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manager.h1
-rw-r--r--service.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/manager.h b/manager.h
index 8d46323e0e..a361748374 100644
--- a/manager.h
+++ b/manager.h
@@ -82,6 +82,7 @@ struct Watch {
#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target"
#define SPECIAL_SYSLOG_TARGET "syslog.target" /* Should pull in syslog.socket or syslog.service */
#define SPECIAL_RTC_SET_TARGET "rtc-set.target" /* LSB's $time */
+#define SPECIAL_SYSINIT_SERVICE "sysinit.service"
/* For SysV compatibility. Usually an alias for a saner target. On
* SysV-free systems this doesn't exist. */
diff --git a/service.c b/service.c
index be23b57c49..53d5505c2e 100644
--- a/service.c
+++ b/service.c
@@ -481,6 +481,10 @@ static int service_load_sysv_path(Service *s, const char *path) {
if ((r = sysv_exec_commands(s)) < 0)
goto finish;
+ if ((r = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_SYSINIT_SERVICE)) < 0 ||
+ (r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_SYSINIT_SERVICE)) < 0)
+ goto finish;
+
r = 1;
finish: