Skip to content

Commit

Permalink
Fix WantedBy processing
Browse files Browse the repository at this point in the history
An empty string assignment to WantedBy should clear all prior WantedBy
settings. This matches behavior of the current systemd implementation.

Signed-off-by: Bob Henz <robert_henz@jabil.com>
  • Loading branch information
bobhenz-jabil committed Sep 26, 2022
1 parent 68b07bb commit b637a46
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions meta/recipes-core/systemd/systemd-systemctl/systemctl
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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):
Expand Down

0 comments on commit b637a46

Please sign in to comment.