Hello, On 20/09/2022 17:55:42+0000, Robert Henz via lists.openembedded.org wrote: > Hi everyone, > > I have a PR to fix the WantedBy parsing of the systemctl script. I > tried to follow the process described in your wiki > (https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded), > but ran into some problems I wasn't able to figure out. I will attach > the patch file for my suggested change to this email but I also went > ahead and created a fork and generated a GitHub PR in case that is > ok/easier?
This is not easier to me. However, I'm interested to know more about the issues you couldn't solve as this is a recurring topic. > From 6cdb207ed99bc82324fb7b85126425ac8d439070 Mon Sep 17 00:00:00 2001 > From: Bob Henz <robert_h...@jabil.com> > Date: Mon, 19 Sep 2022 22:02:58 -0400 > Subject: [PATCH] Fix WantedBy processing > > An empty string assignment to WantedBy should clear all prior WantedBy > settings. This matches behavior of the current systemd implementation. Your SoB is missing here and this is mandatory. > --- > meta/recipes-core/systemd/systemd-systemctl/systemctl | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl > b/meta/recipes-core/systemd/systemd-systemctl/systemctl > index 6d19666d82..cddae75a06 100755 > --- a/meta/recipes-core/systemd/systemd-systemctl/systemctl > +++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl > @@ -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) > @@ -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): > -- > 2.34.1 > > > > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#170910): https://lists.openembedded.org/g/openembedded-core/message/170910 Mute This Topic: https://lists.openembedded.org/mt/93809846/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-