From 65530632c7e40bc369edcba8f014ec9136c8eb02 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 7 Dec 2010 22:51:21 +0100 Subject: [PATCH] service: drop rc. prefix on frugalware linux --- src/service.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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; -- 2.39.5