systemd/support-sysvinit.patch
2012-11-02 16:30:32 +00:00

22 lines
1019 B
Diff

Index: systemd-36/src/systemctl.c
===================================================================
--- systemd-36.orig/src/systemctl/systemctl.c
+++ systemd-36/src/systemctl/systemctl.c
@@ -4672,10 +4672,13 @@ static int parse_argv(int argc, char *ar
/* Hmm, so some other init system is
* running, we need to forward this
* request to it. For now we simply
- * guess that it is Upstart. */
-
- execv("/lib/upstart/telinit", argv);
+ * guess that it is Sysvinit or Upstart. */
+ if (!access("/lib/sysvinit/telinit", X_OK)) {
+ execv("/lib/sysvinit/telinit", argv);
+ } else {
+ execv("/lib/upstart/telinit", argv);
+ }
log_error("Couldn't find an alternative telinit implementation to spawn.");
return -EIO;
}