From 63f7dcb5b0726ef7d0a493cedb2d7d66b41c9e6a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 9 Oct 2025 20:35:26 +0200 Subject: [PATCH] lib/config: Make /run path configurable Avoid hardcoded paths when writing regression tests. Signed-off-by: Karel Zak --- include/configs.h | 1 + lib/configs.c | 8 +++++--- term-utils/agetty.c | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/configs.h b/include/configs.h index ea72afacc..95b9bb46c 100644 --- a/include/configs.h +++ b/include/configs.h @@ -44,6 +44,7 @@ int ul_configs_file_list(struct list_head *file_list, const char *project, const char *etc_subdir, + const char *run_subdir, const char *usr_subdir, const char *config_name, const char *config_suffix); diff --git a/lib/configs.c b/lib/configs.c index 09bfffb66..105d97f37 100644 --- a/lib/configs.c +++ b/lib/configs.c @@ -191,6 +191,7 @@ static void free_list_entry(struct file_element *element) int ul_configs_file_list(struct list_head *file_list, const char *project, const char *etc_subdir, + const char *run_subdir, const char *usr_subdir, const char *config_name, const char *config_suffix) @@ -215,7 +216,8 @@ int ul_configs_file_list(struct list_head *file_list, /* Default is /etc */ if (!etc_subdir) etc_subdir = _PATH_SYSCONFDIR; - + if (!run_subdir) + run_subdir = ""; if (!usr_subdir) usr_subdir = ""; @@ -226,7 +228,7 @@ int ul_configs_file_list(struct list_head *file_list, /* in the following order : /etc /run /usr */ filename = main_configs(etc_subdir, project, config_name, config_suffix); if (filename == NULL) - filename = main_configs(_PATH_RUNSTATEDIR, project, config_name, config_suffix); + filename = main_configs(run_subdir, project, config_name, config_suffix); if (filename == NULL) filename = main_configs(usr_subdir, project, config_name, config_suffix); if (filename != NULL) { @@ -252,7 +254,7 @@ int ul_configs_file_list(struct list_head *file_list, config_suffix); ret_run = read_dir(&run_file_list, project, - _PATH_RUNSTATEDIR, + run_subdir, config_name, config_suffix); ret_usr = read_dir(&usr_file_list, diff --git a/term-utils/agetty.c b/term-utils/agetty.c index 08d009261..7a97167cd 100644 --- a/term-utils/agetty.c +++ b/term-utils/agetty.c @@ -1952,6 +1952,7 @@ skip: ul_configs_file_list(&file_list, NULL, _PATH_SYSCONFDIR, + _PATH_SYSCONFDIR, _PATH_SYSCONFSTATICDIR, "issue", ISSUEDIR_EXT); -- 2.47.3