service: drop rc. prefix on frugalware linux

This commit is contained in:
Miklos Vajna 2010-12-07 22:51:21 +01:00 committed by Kay Sievers
parent 2dddca4a8d
commit 65530632c7

View file

@ -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;