From: Miklos Vajna Date: Tue, 7 Dec 2010 21:51:21 +0000 (+0100) Subject: service: drop rc. prefix on frugalware linux X-Git-Tag: v16~47 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65530632c7e40bc369edcba8f014ec9136c8eb02;p=systemd service: drop rc. prefix on frugalware linux --- diff --git a/src/service.c b/src/service.c index 1f478f43..620f2b30 100644 --- a/src/service.c +++ b/src/service.c @@ -247,6 +247,11 @@ static char *sysv_translate_name(const char *name) { else if (startswith(name, "@")) /* Drop Arch-style background prefix */ strcpy(stpcpy(r, name + 1), ".service"); +#endif +#ifdef TARGET_FRUGALWARE + else if (startswith(name, "rc.")) + /* Drop Frugalware-style rc. prefix */ + strcpy(stpcpy(r, name + 3), ".service"); #endif else /* Normal init scripts */ @@ -887,6 +892,18 @@ static int service_load_sysv_name(Service *s, const char *name) { free(path); } + if (r >= 0 && s->meta.load_state == UNIT_STUB) { + /* Try Frugalware style rc.xxx init scripts */ + + if (asprintf(&path, "%s/rc.%s", *p, name) < 0) + return -ENOMEM; + + /* Drop .service suffix */ + path[strlen(path)-8] = 0; + r = service_load_sysv_path(s, path); + free(path); + } + if (r < 0) return r;