chiark / gitweb /
suse: add 'smtp' LSB facility
[elogind.git] / src / service.c
index 184ddf91437f8d4a1e70845e5ff3dca7ce43cc09..1f478f4386b4071daf845ad3e75bf886666ca8e6 100644 (file)
@@ -65,7 +65,7 @@ static const struct {
         { "boot.d", SPECIAL_SYSINIT_TARGET,   RUNLEVEL_SYSINIT },
 #endif
 
-#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_FRUGALWARE)
         /* Debian style rcS.d */
         { "rcS.d",  SPECIAL_SYSINIT_TARGET,   RUNLEVEL_SYSINIT },
 #endif
@@ -273,23 +273,24 @@ static int sysv_translate_facility(const char *name, const char *filename, char
                 "syslog",               SPECIAL_SYSLOG_TARGET,
                 "time",                 SPECIAL_RTC_SET_TARGET,
 
-                /* Debian extensions */
+                /* common extensions */
+                "mail-transfer-agent",  SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
+                "x-display-manager",    SPECIAL_DISPLAY_MANAGER_SERVICE,
+                "null",                 NULL,
+
 #if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
                 "mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
 #endif
-                "mail-transfer-agent",  SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
-                "x-display-manager",    SPECIAL_DISPLAY_MANAGER_SERVICE,
 
 #ifdef TARGET_FEDORA
-                /* Fedora extensions */
                 "MTA",                  SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
                 "smtpdaemon",           SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
                 "httpd",                SPECIAL_HTTP_DAEMON_TARGET,
 #endif
 
-                /* SuSE extensions */
-                "null",                 NULL
-
+#ifdef TARGET_SUSE
+                "smtp",                 SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
+#endif
         };
 
         unsigned i;
@@ -1055,7 +1056,7 @@ static int service_load(Unit *u) {
                 if ((r = unit_add_exec_dependencies(u, &s->exec_context)) < 0)
                         return r;
 
-                if ((r = unit_add_default_cgroup(u)) < 0)
+                if ((r = unit_add_default_cgroups(u)) < 0)
                         return r;
 
 #ifdef HAVE_SYSV_COMPAT
@@ -1609,16 +1610,6 @@ static int service_spawn(
                         goto fail;
                 }
 
-#ifdef HAVE_SYSV_COMPAT
-        /* Make sure we set TERM=linux for SysV scripts, since some
-         * require it to be set from the kernel */
-        if (s->sysv_path && !strv_env_get(s->meta.manager->environment, "TERM"))
-                if (!(our_env[n_env++] = strdup("TERM=linux"))) {
-                        r = -ENOMEM;
-                        goto fail;
-                }
-#endif
-
         if (!(final_env = strv_env_merge(2,
                                          s->meta.manager->environment,
                                          our_env,