From 32ed8e53109f4384970fb540e44cc2f7fcafb2a5 Mon Sep 17 00:00:00 2001 From: Frederic Ouellet Date: Thu, 25 Jul 2019 15:58:50 -0400 Subject: 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 Signed-off-by: Richard Purdie --- meta/recipes-core/systemd/systemd-systemctl/systemctl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'meta/recipes-core') 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("\\"): -- cgit 1.2.3-korg