chiark / gitweb /
build-sys: add Mandriva distribution support
[elogind.git] / src / service.c
index 85175793428f77b8d7ac8261a40dc11490329e82..70999f354511bc89962d06339c7c2ecb16f887a7 100644 (file)
@@ -275,7 +275,13 @@ static int sysv_translate_facility(const char *name, const char *filename, char
         static const char * const table[] = {
                 /* LSB defined facilities */
                 "local_fs",             SPECIAL_LOCAL_FS_TARGET,
+#ifndef TARGET_MANDRIVA
+               /* Due to unfortunate name selection in Mandriva,
+                * $network is provided by network-up which is ordered
+                * after network which actually starts interfaces.
+                * To break the loop, just ignore it */
                 "network",              SPECIAL_NETWORK_TARGET,
+#endif
                 "named",                SPECIAL_NSS_LOOKUP_TARGET,
                 "portmap",              SPECIAL_RPCBIND_TARGET,
                 "remote_fs",            SPECIAL_REMOTE_FS_TARGET,
@@ -345,9 +351,7 @@ static int sysv_translate_facility(const char *name, const char *filename, char
                 return -ENOMEM;
 
 finish:
-
-        if (_r)
-                *_r = r;
+        *_r = r;
 
         return 1;
 }
@@ -837,7 +841,7 @@ static int service_load_sysv_path(Service *s, const char *path) {
         if (description) {
                 char *d;
 
-                if (!(d = strappend("LSB: ", description))) {
+                if (!(d = strappend(s->sysv_has_lsb ? "LSB: " : "SYSV: ", description))) {
                         r = -ENOMEM;
                         goto finish;
                 }