]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/conf-parser: collapse pkgdir and conf_file args into one
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 25 Jan 2024 17:30:43 +0000 (18:30 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 7 Mar 2024 17:49:44 +0000 (18:49 +0100)
This essentially reverts 5656cdfeeabc16b5489f5ec7a0a36025a2ec1f23. I find it
much easier to understand what is going on when the
path-relative-to-the-search-path is passed in full, instead of being constructed
from two parts, with one of the parts being implicit in some places.

Also, we call 'systemd-analyze cat-config <path>' with <path> with the same
meaning, so this makes the internal and external APIs more consistent.

16 files changed:
src/core/main.c
src/coredump/coredump.c
src/home/homed-conf.c
src/journal-remote/journal-remote-main.c
src/journal-remote/journal-upload.c
src/journal/journald-server.c
src/login/logind-core.c
src/network/networkd-conf.c
src/oom/oomd.c
src/pstore/pstore.c
src/resolve/resolved-conf.c
src/shared/conf-parser.c
src/shared/conf-parser.h
src/shared/sleep-config.c
src/shared/udev-util.c
src/timesync/timesyncd-conf.c

index 1e66770df048250f5269e8217d8443413bb737f4..c7aec5df3b7ccb9f830dfe2897c845c36b03073e 100644 (file)
@@ -736,7 +736,7 @@ static int parse_config_file(void) {
         };
 
         if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM)
-                (void) config_parse_config_file("system.conf",
+                (void) config_parse_config_file("systemd/system.conf",
                                                 "Manager\0",
                                                 config_item_table_lookup, items,
                                                 CONFIG_PARSE_WARN,
index 51218fc4c8504d284c99136add7ed5eeb0f24fee..4478dd1be29b506aa338c9b2126c8f18f6754e4b 100644 (file)
@@ -179,7 +179,7 @@ static int parse_config(void) {
         int r;
 
         r = config_parse_config_file(
-                        "coredump.conf",
+                        "systemd/coredump.conf",
                         "Coredump\0",
                         config_item_table_lookup,
                         items,
index ffa4bb3bd796b90ce6104d81f0d79f19b4dc1d84..7fec29651deeb3ceeea04d5943287c2451057782 100644 (file)
@@ -9,7 +9,7 @@ int manager_parse_config_file(Manager *m) {
 
         assert(m);
 
-        return config_parse_config_file("homed.conf", "Home\0",
+        return config_parse_config_file("systemd/homed.conf", "Home\0",
                                         config_item_perf_lookup, homed_gperf_lookup,
                                         CONFIG_PARSE_WARN, m);
 }
index 6c09c068c8088e91b5a5a8cf838138d9df64370f..221b544fbcbf9b0ff3941a64716dd16836a03127 100644 (file)
@@ -746,7 +746,7 @@ static int parse_config(void) {
                 {}
         };
 
-        return config_parse_config_file("journal-remote.conf", "Remote\0",
+        return config_parse_config_file("systemd/journal-remote.conf", "Remote\0",
                                         config_item_table_lookup, items,
                                         CONFIG_PARSE_WARN, NULL);
 }
index 97b5f929abd2388b6b9a81b962b31eea256806ae..6d080d73701aee1a646e041255fa14dd65e6b1a3 100644 (file)
@@ -531,7 +531,7 @@ static int parse_config(void) {
                 {}
         };
 
-        return config_parse_config_file("journal-upload.conf", "Upload\0",
+        return config_parse_config_file("systemd/journal-upload.conf", "Upload\0",
                                         config_item_table_lookup, items,
                                         CONFIG_PARSE_WARN, NULL);
 }
index a8c186dc2094fad53b69ee8b282d8e67527d69ae..fa340da4bb1af955e9b8d04c56e0393c2b72d2bd 100644 (file)
@@ -1884,12 +1884,14 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat
 }
 
 static int server_parse_config_file(Server *s) {
-        const char *conf_file = "journald.conf";
+        const char *conf_file;
 
         assert(s);
 
         if (s->namespace)
-                conf_file = strjoina("journald@", s->namespace, ".conf");
+                conf_file = strjoina("systemd/journald@", s->namespace, ".conf");
+        else
+                conf_file = "systemd/journald.conf";
 
         return config_parse_config_file(conf_file, "Journal\0",
                                         config_item_perf_lookup, journald_gperf_lookup,
index 582cbcbea84709873e5572fd60a22225cb6c4256..50346089bad58110b1af0d278bb08b15855f6200 100644 (file)
@@ -82,7 +82,7 @@ void manager_reset_config(Manager *m) {
 int manager_parse_config_file(Manager *m) {
         assert(m);
 
-        return config_parse_config_file("logind.conf", "Login\0",
+        return config_parse_config_file("systemd/logind.conf", "Login\0",
                                         config_item_perf_lookup, logind_gperf_lookup,
                                         CONFIG_PARSE_WARN, m);
 }
index 063732a3b4135bfe137afcf2e9613ffa35f3b728..af8d04b4a5d9ce9938d7f71cf88eb28dda2f4048 100644 (file)
@@ -14,7 +14,7 @@ int manager_parse_config_file(Manager *m) {
 
         assert(m);
 
-        r = config_parse_config_file("networkd.conf",
+        r = config_parse_config_file("systemd/networkd.conf",
                                      "Network\0"
                                      "DHCPv4\0"
                                      "DHCPv6\0"
index ecc2eda5dc00fcf3920eef0b3fa756512d16b540..a88f57da0a51e36134f718a6301c751cd9d5d19b 100644 (file)
@@ -31,7 +31,7 @@ static int parse_config(void) {
                 {}
         };
 
-        return config_parse_config_file("oomd.conf", "OOM\0",
+        return config_parse_config_file("systemd/oomd.conf", "OOM\0",
                                         config_item_table_lookup, items,
                                         CONFIG_PARSE_WARN, NULL);
 }
index 835348f90e27579ff1092f15a921befeadc362bf..529193c9e9217fdf763cece495a4e13efad50c92 100644 (file)
@@ -77,7 +77,7 @@ static int parse_config(void) {
                 {}
         };
 
-        return config_parse_config_file("pstore.conf", "PStore\0",
+        return config_parse_config_file("systemd/pstore.conf", "PStore\0",
                                         config_item_table_lookup, items,
                                         CONFIG_PARSE_WARN, NULL);
 }
index 182ac20c3f83754cf5cf40a0919c22b619a1f3f5..f88f29543756ebaa1629814a724f3acf80811537 100644 (file)
@@ -570,7 +570,7 @@ int manager_parse_config_file(Manager *m) {
 
         assert(m);
 
-        r = config_parse_config_file("resolved.conf", "Resolve\0",
+        r = config_parse_config_file("systemd/resolved.conf", "Resolve\0",
                                      config_item_perf_lookup, resolved_gperf_lookup,
                                      CONFIG_PARSE_WARN, m);
         if (r < 0)
index 40d3675b7e07c2d74a73a9678d208736e9d520af..fba0001242a10c727547ee8f8716bdc83fdaab55 100644 (file)
@@ -600,9 +600,8 @@ static int config_parse_many_files(
 
 /* Parse one main config file located in /etc/$pkgdir and its drop-ins, which is what all systemd daemons
  * do. */
-int config_parse_config_file_full(
+int config_parse_config_file(
                 const char *conf_file,
-                const char *pkgdir,
                 const char *sections,
                 ConfigItemLookup lookup,
                 const void *table,
@@ -614,7 +613,6 @@ int config_parse_config_file_full(
         int r;
 
         assert(conf_file);
-        assert(pkgdir);
 
         /* build the dropin dir list */
         dropin_dirs = new0(char*, strv_length(conf_paths) + 1);
@@ -628,10 +626,10 @@ int config_parse_config_file_full(
         STRV_FOREACH(p, conf_paths) {
                 char *d;
 
-                d = strjoin(*p, pkgdir, "/", conf_file, ".d");
+                d = strjoin(*p, conf_file, ".d");
                 if (!d) {
                         if (flags & CONFIG_PARSE_WARN)
-                                return log_oom();
+                                log_oom();
                         return -ENOMEM;
                 }
 
@@ -642,7 +640,7 @@ int config_parse_config_file_full(
         if (r < 0)
                 return r;
 
-        const char *sysconf_file = strjoina(SYSCONF_DIR, "/", pkgdir, "/", conf_file);
+        const char *sysconf_file = strjoina(SYSCONF_DIR, "/", conf_file);
 
         return config_parse_many_files(STRV_MAKE_CONST(sysconf_file), dropins,
                                        sections, lookup, table, flags, userdata, NULL);
index 30573564791672731e2fd66776dcab3e05c73700..2c75ba5d8b8f19161108d022019ebcb686be95d4 100644 (file)
@@ -93,25 +93,14 @@ int config_parse(
                 void *userdata,
                 struct stat *ret_stat);     /* possibly NULL */
 
-int config_parse_config_file_full(
-                const char *conf_file,
-                const char *pkgdir,
+int config_parse_config_file(
+                const char *conf_file,      /* a path like "systemd/frobnicator.conf" */
                 const char *sections,       /* nulstr */
                 ConfigItemLookup lookup,
                 const void *table,
                 ConfigParseFlags flags,
                 void *userdata);
 
-static inline int config_parse_config_file(
-                const char *conf_file,
-                const char *sections,       /* nulstr */
-                ConfigItemLookup lookup,
-                const void *table,
-                ConfigParseFlags flags,
-                void *userdata) {
-        return config_parse_config_file_full(conf_file, "systemd", sections, lookup, table, flags, userdata);
-}
-
 int config_parse_many(
                 const char* const* conf_files,  /* possibly empty */
                 const char* const* conf_file_dirs,
index 7282111f497bf0164d80eee33ceea4d6eb72a562..19b75a706dd580c1a1163f1b094653bef99ae310 100644 (file)
@@ -145,7 +145,7 @@ int parse_sleep_config(SleepConfig **ret) {
                 {}
         };
 
-        (void) config_parse_config_file("sleep.conf", "Sleep\0",
+        (void) config_parse_config_file("systemd/sleep.conf", "Sleep\0",
                                         config_item_table_lookup, items,
                                         CONFIG_PARSE_WARN, NULL);
 
index 9acdaeff521e0615d9cf49f99ad6f69198e82218..205afc57233f7a0215e9d183c2b9817c5c38448b 100644 (file)
@@ -28,9 +28,8 @@ int udev_parse_config_full(const ConfigTableItem config_table[]) {
 
         assert(config_table);
 
-        r = config_parse_config_file_full(
-                        "udev.conf",
-                        "udev",
+        r = config_parse_config_file(
+                        "udev/udev.conf",
                         /* sections = */ NULL,
                         config_item_table_lookup,
                         config_table,
index 9c0b6f7ce1f9b77b3d7bd60b4594d7c6b509f30d..66f3d177e9acc45ab9ae31af0adb87b2476968ed 100644 (file)
@@ -102,7 +102,7 @@ int manager_parse_config_file(Manager *m) {
 
         assert(m);
 
-        r = config_parse_config_file("timesyncd.conf", "Time\0",
+        r = config_parse_config_file("systemd/timesyncd.conf", "Time\0",
                                      config_item_perf_lookup, timesyncd_gperf_lookup,
                                      CONFIG_PARSE_WARN, m);
         if (r < 0)