if (r == 0)
continue;
- r = unit_add_name(u, m);
+ if (unit_name_to_type(m) == UNIT_SERVICE)
+ r = unit_add_name(u, m);
+ else {
+ if ((r = unit_add_dependency_by_name_inverse(u, UNIT_REQUIRES, m)) >= 0)
+ r = unit_add_dependency_by_name(u, UNIT_BEFORE, m);
+ }
+
free(m);
if (r < 0)
r = service_load_sysv_path(s, path);
free(path);
- if (r >= 0)
+ if (r != 0)
return r;
}
return r;
}
- /* Load a classic init script as a fallback, if we couldn*t find anything */
+ /* Load a classic init script as a fallback, if we couldn't find anything */
if (r == 0)
if ((r = service_load_sysv(s)) <= 0) {
service_done(u);
"%sService State: %s\n"
"%sPermissionsStartOnly: %s\n"
"%sRootDirectoryStartOnly: %s\n"
- "%sValidNoProcess: %s\n",
+ "%sValidNoProcess: %s\n"
+ "%sType: %s\n",
prefix, service_state_to_string(s->state),
prefix, yes_no(s->permissions_start_only),
prefix, yes_no(s->root_directory_start_only),
- prefix, yes_no(s->valid_no_process));
+ prefix, yes_no(s->valid_no_process),
+ prefix, service_type_to_string(s->type));
if (s->pid_file)
fprintf(f,