chiark / gitweb /
vala: take command line args to control whether to talk to system or session systemd
[elogind.git] / service.c
index caef844056a904ce4334122e17208751bf9a68b6..fd36886fb11b8326977008d55817222e1c73272c 100644 (file)
--- a/service.c
+++ b/service.c
 #define LINE_MAX 4096
 
 static const char * const rcnd_table[] = {
-        "../rc0.d", SPECIAL_RUNLEVEL0_TARGET,
-        "../rc1.d", SPECIAL_RUNLEVEL1_TARGET,
-        "../rc2.d", SPECIAL_RUNLEVEL2_TARGET,
-        "../rc3.d", SPECIAL_RUNLEVEL3_TARGET,
-        "../rc4.d", SPECIAL_RUNLEVEL4_TARGET,
-        "../rc5.d", SPECIAL_RUNLEVEL5_TARGET,
-        "../rc6.d", SPECIAL_RUNLEVEL6_TARGET
+        "/rc0.d", SPECIAL_RUNLEVEL0_TARGET,
+        "/rc1.d", SPECIAL_RUNLEVEL1_TARGET,
+        "/rc2.d", SPECIAL_RUNLEVEL2_TARGET,
+        "/rc3.d", SPECIAL_RUNLEVEL3_TARGET,
+        "/rc4.d", SPECIAL_RUNLEVEL4_TARGET,
+        "/rc5.d", SPECIAL_RUNLEVEL5_TARGET,
+        "/rc6.d", SPECIAL_RUNLEVEL6_TARGET
 };
 
-
 static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
         [SERVICE_DEAD] = UNIT_INACTIVE,
         [SERVICE_START_PRE] = UNIT_ACTIVATING,
@@ -218,7 +217,7 @@ static int priority_from_rcd(Service *s, const char *init_script) {
         char **p;
         unsigned i;
 
-        STRV_FOREACH(p, UNIT(s)->meta.manager->sysvinit_path)
+        STRV_FOREACH(p, UNIT(s)->meta.manager->sysvrcnd_path)
                 for (i = 0; i < ELEMENTSOF(rcnd_table); i += 2) {
                         char *path;
                         DIR *d;
@@ -565,8 +564,8 @@ static int service_load_sysv_path(Service *s, const char *path, UnitLoadState *n
         if ((r = sysv_exec_commands(s)) < 0)
                 goto finish;
 
-        if ((r = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_SYSINIT_SERVICE)) < 0 ||
-            (r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_SYSINIT_SERVICE)) < 0)
+        if ((r = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_BASIC_SERVICE)) < 0 ||
+            (r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_BASIC_SERVICE)) < 0)
                 goto finish;
 
         *new_state = UNIT_LOADED;
@@ -732,7 +731,6 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) {
                         "%sPIDFile: %s\n",
                         prefix, s->pid_file);
 
-
         exec_context_dump(&s->exec_context, f, prefix);
 
         for (c = 0; c < _SERVICE_EXEC_MAX; c++) {
@@ -1752,7 +1750,7 @@ static int service_enumerate(Manager *m) {
 
         assert(m);
 
-        STRV_FOREACH(p, m->sysvinit_path)
+        STRV_FOREACH(p, m->sysvrcnd_path)
                 for (i = 0; i < ELEMENTSOF(rcnd_table); i += 2) {
                         struct dirent *de;