summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Ouellet <fredericouellet@eaton.com>2019-07-25 15:58:50 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-26 08:40:59 +0100
commit32ed8e53109f4384970fb540e44cc2f7fcafb2a5 (patch)
treea16872a47b4a74edab353d3a4681021d94d68a4e
parentceb3555a40ba06e58914465376aaf41392c12a7c (diff)
downloadopenembedded-core-contrib-32ed8e53109f4384970fb540e44cc2f7fcafb2a5.tar.gz
systemd: Add partial support of drop-in configuration files to systemd-systemctl-native
Support for serive-name.service.d/ folders containing .conf files It don't support all the partial folder names See https://www.freedesktop.org/software/systemd/man/systemd.unit.html Signed-off-by: Frederic Ouellet <fredericouellet@eaton.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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():
def __init__(self, root, path):
self.sections = dict()
self._parse(root, path)
+ dirname = os.path.basename(path.name) + ".d"
+ for location in locations:
+ for path2 in sorted((root / location / "system" / dirname).glob("*.conf")):
+ self._parse(root, path2)
def _parse(self, root, path):
"""Parse a systemd syntax configuration file
@@ -56,8 +60,11 @@ class SystemdFile():
line = line.rstrip("\n")
m = section_re.match(line)
if m:
- section = dict()
- self.sections[m.group('section')] = section
+ if m.group('section') not in self.sections:
+ section = dict()
+ self.sections[m.group('section')] = section
+ else:
+ section = self.sections[m.group('section')]
continue
while line.endswith("\\"):