#ifdef TARGET_FEDORA
/* Fedora extensions, lacking the $ prefix */
"MTA", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
- "smtpdaemon", SPECIAL_MAIL_TRANSFER_AGENT_TARGET
+ "smtpdaemon", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
+ "httpd", SPECIAL_HTTP_DAEMON_TARGET,
#endif
};
}
if (*name == '$')
- return 0;
+ r = unit_name_build(name+1, NULL, ".target");
+ else
+ r = sysv_translate_name(name);
- if (!(r = sysv_translate_name(name)))
+ if (!r)
return -ENOMEM;
finish:
return 0;
}
-static int service_add_bus_name(Service *s) {
- char *n;
- int r;
-
- assert(s);
- assert(s->bus_name);
-
- if (asprintf(&n, "dbus-%s.service", s->bus_name) < 0)
- return 0;
-
- r = unit_merge_by_name(UNIT(s), n);
- free(n);
-
- return r;
-}
-
static int service_verify(Service *s) {
assert(s);
if ((r = sysv_fix_order(s)) < 0)
return r;
- if (s->bus_name) {
- if ((r = service_add_bus_name(s)) < 0)
- return r;
-
+ if (s->bus_name)
if ((r = unit_watch_bus_name(u, s->bus_name)) < 0)
return r;
- }
if (s->type == SERVICE_NOTIFY && s->notify_access == NOTIFY_NONE)
s->notify_access = NOTIFY_MAIN;