From: Frederic Crozat Date: Thu, 23 Aug 2012 11:08:25 +0200 Subject: fix support for boot prefixed initscript (bnc#746506) --- src/systemctl/systemctl.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) Index: systemd-221/src/systemctl/systemctl.c =================================================================== --- systemd-221.orig/src/systemctl/systemctl.c +++ systemd-221/src/systemctl/systemctl.c @@ -5165,8 +5165,24 @@ static int enable_sysv_units(const char p[strlen(p) - strlen(".service")] = 0; found_sysv = access(p, F_OK) >= 0; - if (!found_sysv) + if (!found_sysv) { +#ifdef HAVE_SYSV_COMPAT + free(p); + p = NULL; + if (!isempty(arg_root)) + asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); + else + asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); + if (!p) + return -ENOMEM; + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; + if (!found_sysv) + continue; +#else continue; +#endif + } if (found_native) log_info("Synchronizing state of %s with SysV init with %s...", name, argv[0]);