diff options
author | Bob Henz <robert_henz@jabil.com> | 2024-05-15 15:12:18 +0530 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2024-05-22 05:07:30 -0700 |
commit | 9e3a2e143ef2aaab335439ddbe1ab976aeeed35d (patch) | |
tree | 558964beb5a680dce7cf1ec17328e35940509282 | |
parent | c850931590ff22da4d38756f957b88e04078c76c (diff) | |
download | openembedded-core-contrib-9e3a2e143ef2aaab335439ddbe1ab976aeeed35d.tar.gz |
systemd-systemctl: Fix WantedBy processing
An empty string assignment to WantedBy should clear all prior WantedBy
settings. This matches behavior of the current systemd implementation.
(From OE-Core rev: 8ede0083c28fadf1e83c9256618190b931edd306)
Signed-off-by: Bob Henz <robert_henz@jabil.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c653bfc68b06bfd4fa07ba18322599a130b1c59a)
Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rwxr-xr-x | meta/recipes-core/systemd/systemd-systemctl/systemctl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl index 0fd7e24085..7fe751b397 100755 --- a/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl @@ -26,6 +26,9 @@ locations = list() class SystemdFile(): """Class representing a single systemd configuration file""" + + _clearable_keys = ['WantedBy'] + def __init__(self, root, path, instance_unit_name): self.sections = dict() self._parse(root, path) @@ -80,6 +83,14 @@ class SystemdFile(): v = m.group('value') if k not in section: section[k] = list() + + # If we come across a "key=" line for a "clearable key", then + # forget all preceding assignments. This works because we are + # processing files in correct parse order. + if k in self._clearable_keys and not v: + del section[k] + continue + section[k].extend(v.split()) def get(self, section, prop): |