chiark / gitweb /
service: properly handle Fedora's broken MTA meta-service name
[elogind.git] / src / service.c
index 1525aaea9e0acf4f1383fb115791a6db64666b8c..56c8502500f5c37e3b4667a8c560ae35c84d8531 100644 (file)
@@ -251,9 +251,17 @@ static int sysv_translate_facility(const char *name, char **_r) {
                 "$time",      SPECIAL_RTC_SET_TARGET,
 
                 /* Debian extensions */
+#ifdef TARGET_DEBIAN
                 "$mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
+#endif
                 "$mail-transfer-agent",  SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
-                "$x-display-manager",    SPECIAL_DISPLAY_MANAGER_SERVICE
+                "$x-display-manager",    SPECIAL_DISPLAY_MANAGER_SERVICE,
+
+#ifdef TARGET_FEDORA
+                /* Fedora extensions, lacking the $ prefix */
+                "MTA",        SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
+                "smtpdaemon", SPECIAL_MAIL_TRANSFER_AGENT_TARGET
+#endif
         };
 
         unsigned i;
@@ -572,7 +580,7 @@ static int service_load_sysv_path(Service *s, const char *path) {
                                                 r = unit_add_dependency_by_name_inverse(u, UNIT_AFTER, m, NULL, true);
 
                                         if (r < 0)
-                                                log_error("[%s:%u] Failed to add LSB Provides name %s: %s. Ignoring.", path, line, m, strerror(-r));
+                                                log_error("[%s:%u] Failed to add LSB Provides name %s, ignoring: %s", path, line, m, strerror(-r));
 
                                         free(m);
                                 }
@@ -606,7 +614,7 @@ static int service_load_sysv_path(Service *s, const char *path) {
                                         r = unit_add_dependency_by_name(u, startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER, m, NULL, true);
 
                                         if (r < 0)
-                                                log_error("Failed to add dependency on %s, ignoring: %s", m, strerror(-r));
+                                                log_error("[%s:%u] Failed to add dependency on %s, ignoring: %s", path, line, m, strerror(-r));
 
                                         free(m);
                                 }