mirror of
https://github.com/troglobit/finit.git
synced 2026-10-31 13:00:32 +00:00
conf: read /run/finit/system before /lib/finit/system
Stanzas in /lib/finit/system cannot use if:keventd, or any other built-in service: if: is evaluated at parse time, and the generated .conf files for built-ins were read after the system directory, so the referenced service did not exist yet and the stanza was dropped. The late position was deliberate: it kept bundled services from starting before udev (5d703fd3). The motivating case was dbus, which has since moved to a build-time 20-dbus.conf (2e0b1d6f), and the built-ins that remain want the early slot: watchdogd should start as soon as possible, keventd is the device manager, and runparts is gated on int/bootstrap so its position never mattered. Reading /run/finit/system first also puts the override chain in its natural order: built-in/generated defaults, then bundled (read-only) system files in /lib, then the administrator (override) .conf file in /etc/finit.d, always read last. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
3 files changed
+41
-37
No files matched your search
@@ -8,6 +8,12 @@ All relevant changes are documented in this file.
|
||||
|
||||
### Changes
|
||||
|
||||
- The generated `/run/finit/system/*.conf` files for built-in services
|
||||
(keventd, watchdogd, runparts) are now read before
|
||||
`/lib/finit/system/*.conf` instead of after. Built-ins can now be
|
||||
referenced in `if:` statements from system .conf files and overridden
|
||||
by name from both `/lib/finit/system` and `/etc/finit.d`, the latter
|
||||
is still always read last
|
||||
- The `dbus.so` plugin, which starts an external `dbus-daemon`, is now
|
||||
enabled by default. It does nothing on systems without a
|
||||
`dbus-daemon` installed, and `--disable-dbus-plugin` opts out. The
|
||||
|
||||
Reference in new issue
Block a user