mirror of
https://github.com/systemd/systemd.git
synced 2024-11-06 08:26:52 +03:00
shared: conf-files - add root parameter
This commit is contained in:
parent
0b9cc004a4
commit
7850b3b837
@ -138,7 +138,7 @@ int main(int argc, char *argv[]) {
|
|||||||
} else {
|
} else {
|
||||||
char **files, **f;
|
char **files, **f;
|
||||||
|
|
||||||
r = conf_files_list(&files, ".conf",
|
r = conf_files_list(&files, ".conf", NULL,
|
||||||
"/etc/binfmt.d",
|
"/etc/binfmt.d",
|
||||||
"/run/binfmt.d",
|
"/run/binfmt.d",
|
||||||
"/usr/local/lib/binfmt.d",
|
"/usr/local/lib/binfmt.d",
|
||||||
|
@ -171,7 +171,7 @@ int unit_load_dropin(Unit *u) {
|
|||||||
_cleanup_strv_free_ char **files = NULL;
|
_cleanup_strv_free_ char **files = NULL;
|
||||||
char **f;
|
char **f;
|
||||||
|
|
||||||
r = conf_files_list_strv(&files, ".conf", (const char**) strv);
|
r = conf_files_list_strv(&files, ".conf", NULL, (const char**) strv);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
log_error("Failed to get list of configuration files: %s", strerror(-r));
|
log_error("Failed to get list of configuration files: %s", strerror(-r));
|
||||||
return r;
|
return r;
|
||||||
|
@ -296,7 +296,7 @@ int catalog_update(void) {
|
|||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = conf_files_list_strv(&files, ".catalog", (const char **) conf_file_dirs);
|
r = conf_files_list_strv(&files, ".catalog", NULL, (const char **) conf_file_dirs);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
log_error("Failed to get catalog files: %s", strerror(-r));
|
log_error("Failed to get catalog files: %s", strerror(-r));
|
||||||
goto finish;
|
goto finish;
|
||||||
|
@ -198,7 +198,7 @@ int main(int argc, char *argv[]) {
|
|||||||
r = EXIT_FAILURE;
|
r = EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = conf_files_list(&files, ".conf",
|
k = conf_files_list(&files, ".conf", NULL,
|
||||||
"/etc/modules-load.d",
|
"/etc/modules-load.d",
|
||||||
"/run/modules-load.d",
|
"/run/modules-load.d",
|
||||||
"/usr/local/lib/modules-load.d",
|
"/usr/local/lib/modules-load.d",
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
#include "hashmap.h"
|
#include "hashmap.h"
|
||||||
#include "conf-files.h"
|
#include "conf-files.h"
|
||||||
|
|
||||||
static int files_add(Hashmap *h, const char *path, const char *suffix) {
|
static int files_add(Hashmap *h, const char *root, const char *path, const char *suffix) {
|
||||||
DIR *dir;
|
DIR *dir;
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ static int base_cmp(const void *a, const void *b) {
|
|||||||
return strcmp(path_get_file_name(s1), path_get_file_name(s2));
|
return strcmp(path_get_file_name(s1), path_get_file_name(s2));
|
||||||
}
|
}
|
||||||
|
|
||||||
int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs) {
|
int conf_files_list_strv(char ***strv, const char *suffix, const char *root, const char **dirs) {
|
||||||
Hashmap *fh = NULL;
|
Hashmap *fh = NULL;
|
||||||
char **files = NULL;
|
char **files = NULL;
|
||||||
const char **p;
|
const char **p;
|
||||||
@ -105,7 +105,7 @@ int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
STRV_FOREACH(p, dirs) {
|
STRV_FOREACH(p, dirs) {
|
||||||
r = files_add(fh, *p, suffix);
|
r = files_add(fh, root, *p, suffix);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
log_warning("Failed to search for files in %s: %s",
|
log_warning("Failed to search for files in %s: %s",
|
||||||
*p, strerror(-r));
|
*p, strerror(-r));
|
||||||
@ -126,7 +126,7 @@ finish:
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
int conf_files_list(char ***strv, const char *suffix, const char *dir, ...) {
|
int conf_files_list(char ***strv, const char *suffix, const char *root, const char *dir, ...) {
|
||||||
char **dirs = NULL;
|
char **dirs = NULL;
|
||||||
va_list ap;
|
va_list ap;
|
||||||
int r;
|
int r;
|
||||||
@ -145,7 +145,7 @@ int conf_files_list(char ***strv, const char *suffix, const char *dir, ...) {
|
|||||||
}
|
}
|
||||||
strv_uniq(dirs);
|
strv_uniq(dirs);
|
||||||
|
|
||||||
r = conf_files_list_strv(strv, suffix, (const char **)dirs);
|
r = conf_files_list_strv(strv, suffix, root, (const char **)dirs);
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
strv_free(dirs);
|
strv_free(dirs);
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
#include "macro.h"
|
#include "macro.h"
|
||||||
|
|
||||||
int conf_files_list(char ***strv, const char *suffix, const char *dir, ...);
|
int conf_files_list(char ***strv, const char *suffix, const char *root, const char *dir, ...);
|
||||||
int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs);
|
int conf_files_list_strv(char ***strv, const char *suffix, const char *root, const char **dirs);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1658,7 +1658,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
|
|||||||
assert(name);
|
assert(name);
|
||||||
|
|
||||||
if (scope == UNIT_FILE_SYSTEM)
|
if (scope == UNIT_FILE_SYSTEM)
|
||||||
r = conf_files_list(&files, ".preset",
|
r = conf_files_list(&files, ".preset", NULL,
|
||||||
"/etc/systemd/system-preset",
|
"/etc/systemd/system-preset",
|
||||||
"/usr/local/lib/systemd/system-preset",
|
"/usr/local/lib/systemd/system-preset",
|
||||||
"/usr/lib/systemd/system-preset",
|
"/usr/lib/systemd/system-preset",
|
||||||
@ -1667,7 +1667,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
|
|||||||
#endif
|
#endif
|
||||||
NULL);
|
NULL);
|
||||||
else if (scope == UNIT_FILE_GLOBAL)
|
else if (scope == UNIT_FILE_GLOBAL)
|
||||||
r = conf_files_list(&files, ".preset",
|
r = conf_files_list(&files, ".preset", NULL,
|
||||||
"/etc/systemd/user-preset",
|
"/etc/systemd/user-preset",
|
||||||
"/usr/local/lib/systemd/user-preset",
|
"/usr/local/lib/systemd/user-preset",
|
||||||
"/usr/lib/systemd/user-preset",
|
"/usr/lib/systemd/user-preset",
|
||||||
|
@ -289,7 +289,7 @@ int main(int argc, char *argv[]) {
|
|||||||
} else {
|
} else {
|
||||||
char **files, **f;
|
char **files, **f;
|
||||||
|
|
||||||
r = conf_files_list(&files, ".conf",
|
r = conf_files_list(&files, ".conf", NULL,
|
||||||
"/etc/sysctl.d",
|
"/etc/sysctl.d",
|
||||||
"/run/sysctl.d",
|
"/run/sysctl.d",
|
||||||
"/usr/local/lib/sysctl.d",
|
"/usr/local/lib/sysctl.d",
|
||||||
|
@ -280,7 +280,7 @@ static char** get_ntp_services(void) {
|
|||||||
char **r = NULL, **files, **i;
|
char **r = NULL, **files, **i;
|
||||||
int k;
|
int k;
|
||||||
|
|
||||||
k = conf_files_list(&files, ".list",
|
k = conf_files_list(&files, ".list", NULL,
|
||||||
"/etc/systemd/ntp-units.d",
|
"/etc/systemd/ntp-units.d",
|
||||||
"/run/systemd/ntp-units.d",
|
"/run/systemd/ntp-units.d",
|
||||||
"/usr/local/lib/systemd/ntp-units.d",
|
"/usr/local/lib/systemd/ntp-units.d",
|
||||||
|
@ -1435,7 +1435,7 @@ int main(int argc, char *argv[]) {
|
|||||||
} else {
|
} else {
|
||||||
char **files, **f;
|
char **files, **f;
|
||||||
|
|
||||||
r = conf_files_list_strv(&files, ".conf", (const char **)conf_file_dirs);
|
r = conf_files_list_strv(&files, ".conf", NULL, (const char **)conf_file_dirs);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
log_error("Failed to enumerate tmpfiles.d files: %s", strerror(-r));
|
log_error("Failed to enumerate tmpfiles.d files: %s", strerror(-r));
|
||||||
r = EXIT_FAILURE;
|
r = EXIT_FAILURE;
|
||||||
|
@ -1619,7 +1619,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
|
|||||||
return udev_rules_unref(rules);
|
return udev_rules_unref(rules);
|
||||||
udev_rules_check_timestamp(rules);
|
udev_rules_check_timestamp(rules);
|
||||||
|
|
||||||
r = conf_files_list_strv(&files, ".rules", (const char **)rules->dirs);
|
r = conf_files_list_strv(&files, ".rules", NULL, (const char **)rules->dirs);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
log_error("failed to enumerate rules files: %s\n", strerror(-r));
|
log_error("failed to enumerate rules files: %s\n", strerror(-r));
|
||||||
return udev_rules_unref(rules);
|
return udev_rules_unref(rules);
|
||||||
|
@ -537,7 +537,7 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
trie->nodes_count++;
|
trie->nodes_count++;
|
||||||
|
|
||||||
err = conf_files_list_strv(&files, ".hwdb", (const char **)conf_file_dirs);
|
err = conf_files_list_strv(&files, ".hwdb", NULL, (const char **)conf_file_dirs);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
log_error("failed to enumerate hwdb files: %s\n", strerror(-err));
|
log_error("failed to enumerate hwdb files: %s\n", strerror(-err));
|
||||||
rc = EXIT_FAILURE;
|
rc = EXIT_FAILURE;
|
||||||
|
Loading…
Reference in New Issue
Block a user