[OE-core] [PATCH v2] systemd: Add partial support of drop-in configuration files to systemd-systemctl-native

Peter Kjellerstedt peter.kjellerstedt at axis.com
Fri Jul 26 15:25:12 UTC 2019


> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org <openembedded-
> core-bounces at lists.openembedded.org> On Behalf Of Frederic Ouellet
> Sent: den 25 juli 2019 21:59
> To: openembedded-core at lists.openembedded.org
> Subject: [OE-core] [PATCH v2] systemd: Add partial support of drop-in
> configuration files to systemd-systemctl-native
> 
> Support for serive-name.service.d/ folders containing .conf files

Change "serive-name.service.d/" to "<service name>.service.d/".

> It don't support all the partial folder names

Change "don't" to "doesn't".

> See https://www.freedesktop.org/software/systemd/man/systemd.unit.html
> 
> Signed-off-by: Frederic Ouellet <fredericouellet at eaton.com>
> ---
>  meta/recipes-core/systemd/systemd-systemctl/systemctl | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl
> b/meta/recipes-core/systemd/systemd-systemctl/systemctl
> index 8d7b3ba..8837f54 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("\\"):
> --
> 2.7.4

//Peter



More information about the Openembedded-core mailing list