Make new sd-path configuration search functionality generic (#39684)

Reverts systemd/systemd#38680

After taking a closer look I'm not convinced by the approach, see below.

First of all, all other SD_PATH_SEARCH_* are either somewhat generic,
i.e. encode the common prefix for configurations, binaries, etc., or are
subdirectories under systemd/ hence in our own "domain". The
tmpfiles/sysctl/binfmt we don't prefix with "systemd" precisely because
the concept is generic and there're actually other impls of them. A
specific SD_PATH_SEARCH_SYSCTL doesn't fit into our existing scheme.
Instead something along the lines of "SEARCH_SYSTEM_CONFIGURATION" shall
be introduced, and consumers will just suffix
sysctl.d/tmpfiles.d/binfmt.d for the final result.

And secondly, I don't grok why systemd-sysctl now unnecessarily calls
into sd-path to obtain the fixed search path. None of our other tools do
that.

-----------

An alternate approach, SD_PATH_SYSTEM_SEARCH_CONFIGURATION, which does
exactly above, will be introduced instead. It provides a universal
interface for querying any system config with our idiomatic
/etc/:/run/:/usr/local/lib/:/usr/lib/ hierarchy.
This commit is contained in:
Yu Watanabe
2025-11-15 10:09:19 +09:00
committed by GitHub
6 changed files with 18 additions and 22 deletions

View File

@@ -41,6 +41,7 @@
<constant>SD_PATH_SYSTEM_STATE_FACTORY</constant>,
<constant>SD_PATH_SYSTEM_CONFIGURATION</constant>,
<constant>SD_PATH_SYSTEM_SEARCH_CONFIGURATION</constant>,
<constant>SD_PATH_SYSTEM_RUNTIME</constant>,
<constant>SD_PATH_SYSTEM_RUNTIME_LOGS</constant>,
<constant>SD_PATH_SYSTEM_STATE_PRIVATE</constant>,
@@ -76,7 +77,6 @@
<constant>SD_PATH_SEARCH_CONFIGURATION_FACTORY</constant>,
<constant>SD_PATH_SEARCH_STATE_FACTORY</constant>,
<constant>SD_PATH_SEARCH_CONFIGURATION</constant>,
<constant>SD_PATH_SEARCH_SYSCTL</constant>,
<constant>SD_PATH_SYSTEMD_UTIL</constant>,
<constant>SD_PATH_SYSTEMD_SYSTEM_UNIT</constant>,