diff options
author | Mike Yuan <me@yhndnzj.com> | 2023-05-14 17:48:25 +0800 |
---|---|---|
committer | Mike Yuan <me@yhndnzj.com> | 2023-05-15 15:04:38 +0800 |
commit | 38f901791f3c4b1cbd04b71323bbef2fdab65f83 (patch) | |
tree | fb03f9eb4c298a754f6e11393b2065012fa4f801 /src/core | |
parent | 62281c78bb0ef77dafb2cad14c1216c313417a23 (diff) | |
download | systemd-38f901791f3c4b1cbd04b71323bbef2fdab65f83.tar.gz |
unit-file: support UpheldBy= in [Install] settings (adding Upholds= deps
from .upholds/)
Closes #26896
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/load-dropin.c | 6 | ||||
-rw-r--r-- | src/core/load-fragment-gperf.gperf.in | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/core/load-dropin.c b/src/core/load-dropin.c index 53d2a3daa1..fd45744261 100644 --- a/src/core/load-dropin.c +++ b/src/core/load-dropin.c @@ -88,7 +88,7 @@ int unit_load_dropin(Unit *u) { assert(u); - /* Load dependencies from .wants and .requires directories */ + /* Load dependencies from .wants, .requires and .upholds directories */ r = process_deps(u, UNIT_WANTS, ".wants"); if (r < 0) return r; @@ -97,6 +97,10 @@ int unit_load_dropin(Unit *u) { if (r < 0) return r; + r = process_deps(u, UNIT_UPHOLDS, ".upholds"); + if (r < 0) + return r; + /* Load .conf dropins */ r = unit_find_dropin_paths(u, &l); if (r <= 0) diff --git a/src/core/load-fragment-gperf.gperf.in b/src/core/load-fragment-gperf.gperf.in index 110bccb7ad..2a3c2c2cb8 100644 --- a/src/core/load-fragment-gperf.gperf.in +++ b/src/core/load-fragment-gperf.gperf.in @@ -580,5 +580,6 @@ Scope.OOMPolicy, config_parse_oom_policy, Install.Alias, NULL, 0, 0 Install.WantedBy, NULL, 0, 0 Install.RequiredBy, NULL, 0, 0 +Install.UpheldBy, NULL, 0, 0 Install.Also, NULL, 0, 0 Install.DefaultInstance, NULL, 0, 0 |