X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fpath-lookup.c;h=b45467c98df35f6ce6476c50d6dd8d282e40fb8d;hb=74b91131ed09850ed487a2f7849147ff6f80194d;hp=fff930469ca0ec6b9431f9e81c0a51ade8a6f928;hpb=2b583ce6576d4a074ce6f1570b3e60b65c64ae7d;p=elogind.git diff --git a/src/path-lookup.c b/src/path-lookup.c index fff930469..b45467c98 100644 --- a/src/path-lookup.c +++ b/src/path-lookup.c @@ -102,7 +102,11 @@ static char** user_dirs(void) { if ((e = getenv("XDG_DATA_DIRS"))) data_dirs = strv_split(e, ":"); else - data_dirs = strv_new("/usr/local/share", "/usr/share", NULL); + data_dirs = strv_new("/usr/local/share", + "/usr/local/lib", + "/usr/share", + "/usr/lib", + NULL); if (!data_dirs) goto fail; @@ -186,8 +190,8 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as) { "/run/systemd/system", SYSTEM_CONFIG_UNIT_PATH, "/etc/systemd/system", - "/usr/local/share/systemd/system", - "/usr/share/systemd/system", + "/usr/local/lib/systemd/system", + "/usr/lib/systemd/system", "/lib/systemd/system", SYSTEM_DATA_UNIT_PATH, NULL))) @@ -199,6 +203,7 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as) { return -ENOMEM; strv_uniq(p->unit_path); + strv_path_remove_empty(p->unit_path); if (!strv_isempty(p->unit_path)) { @@ -253,6 +258,9 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as) { strv_uniq(p->sysvinit_path); strv_uniq(p->sysvrcnd_path); + strv_path_remove_empty(p->sysvinit_path); + strv_path_remove_empty(p->sysvrcnd_path); + if (!strv_isempty(p->sysvinit_path)) { if (!(t = strv_join(p->sysvinit_path, "\n\t")))