summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmeta/recipes-core/systemd/systemd-systemctl/systemctl11
1 files changed, 9 insertions, 2 deletions
diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl
index 8d7b3ba32d..8837f54e16 100755
--- a/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -28,6 +28,10 @@ class SystemdFile():
28 def __init__(self, root, path): 28 def __init__(self, root, path):
29 self.sections = dict() 29 self.sections = dict()
30 self._parse(root, path) 30 self._parse(root, path)
31 dirname = os.path.basename(path.name) + ".d"
32 for location in locations:
33 for path2 in sorted((root / location / "system" / dirname).glob("*.conf")):
34 self._parse(root, path2)
31 35
32 def _parse(self, root, path): 36 def _parse(self, root, path):
33 """Parse a systemd syntax configuration file 37 """Parse a systemd syntax configuration file
@@ -56,8 +60,11 @@ class SystemdFile():
56 line = line.rstrip("\n") 60 line = line.rstrip("\n")
57 m = section_re.match(line) 61 m = section_re.match(line)
58 if m: 62 if m:
59 section = dict() 63 if m.group('section') not in self.sections:
60 self.sections[m.group('section')] = section 64 section = dict()
65 self.sections[m.group('section')] = section
66 else:
67 section = self.sections[m.group('section')]
61 continue 68 continue
62 69
63 while line.endswith("\\"): 70 while line.endswith("\\"):