From: Daan De Meyer Date: Thu, 19 Sep 2024 07:16:14 +0000 (+0200) Subject: Preset user units on first boot as well X-Git-Tag: v257-rc1~377 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0a40325573b91ea71070653865f7f6a9cada2bef;p=thirdparty%2Fsystemd.git Preset user units on first boot as well We need to make sure the presets from /usr/lib/systemd/user-preset are applied as well. Currently only the ones from /usr/lib/systemd/system-preset are applied. --- diff --git a/NEWS b/NEWS index 17b79e31afd..166c337cbc5 100644 --- a/NEWS +++ b/NEWS @@ -73,6 +73,9 @@ CHANGES WITH 257 in spe: Service and system management: + * Global user units are now enabled or disabled based on preset files + on first boot as well just like system units are already. + * Environment variable $REMOTE_ADDR is now set when using socket activation for AF_UNIX sockets. diff --git a/src/core/manager.c b/src/core/manager.c index 2dddc797222..844a91b605e 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1936,12 +1936,16 @@ static void manager_preset_all(Manager *m) { UnitFilePresetMode mode = ENABLE_FIRST_BOOT_FULL_PRESET ? UNIT_FILE_PRESET_FULL : UNIT_FILE_PRESET_ENABLE_ONLY; - r = unit_file_preset_all(RUNTIME_SCOPE_SYSTEM, 0, NULL, mode, NULL, 0); - if (r < 0) - log_full_errno(r == -EEXIST ? LOG_NOTICE : LOG_WARNING, r, - "Failed to populate /etc with preset unit settings, ignoring: %m"); - else - log_info("Populated /etc with preset unit settings."); + RuntimeScope scope; + + FOREACH_ARGUMENT(scope, RUNTIME_SCOPE_SYSTEM, RUNTIME_SCOPE_GLOBAL) { + r = unit_file_preset_all(scope, 0, NULL, mode, NULL, 0); + if (r < 0) + log_full_errno(r == -EEXIST ? LOG_NOTICE : LOG_WARNING, r, + "Failed to populate /etc with %s preset unit settings, ignoring: %m", runtime_scope_to_string(scope)); + else + log_info("Populated /etc with %s preset unit settings.", runtime_scope_to_string(scope)); + } } static void manager_ready(Manager *m) {