Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Robert Henz" <robert_henz@jabil.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: PR to fix WantedBy parsing of systemctl
Date: Mon, 26 Sep 2022 08:49:36 -0700	[thread overview]
Message-ID: <18402.1664207376148460909@lists.openembedded.org> (raw)
In-Reply-To: <Yyouc28ZITHHQlcp@mail.local>


[-- Attachment #1.1: Type: text/plain, Size: 3496 bytes --]

On Tue, Sep 20, 2022 at 05:19 PM, Alexandre Belloni wrote:

> 
> 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.

I am following the instructions (https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded#Sending_via_a_pull_request) under "Sending via a pull request".
I created a github fork (cloned it, created my commit and pushed it back to a branch of my forked repo).

The problem I've run into is this:

```

bobhenz@hound:~/src/openembedded-core$ scripts/create-pull-request -u badger
NOTE: Assuming remote branch 'fix-wantedby-clearing', use -b to override.
NOTE: Assuming local branch HEAD, use -l to override.
fatal: unable to connect to github.com:
github.com[0: 140.82.114.4]: errno=Connection timed out

warn: No match for commit b637a46f58b5adc7dcc76bdef90a7be8c8462df8 found at git://github.com/BadgerTechnologies/openembedded-core
warn: Are you sure you pushed 'fix-wantedby-clearing' there?
ERROR: git request-pull reported an error
bobhenz@hound:~/src/openembedded-core$ git log
commit b637a46f58b5adc7dcc76bdef90a7be8c8462df8 (HEAD -> fix-wantedby-clearing, badger/fix-wantedby-clearing)
Author: Bob Henz <robert_henz@jabil.com>
Date:   Mon Sep 19 22:02:58 2022 -0400

Fix WantedBy processing

An empty string assignment to WantedBy should clear all prior WantedBy
settings. This matches behavior of the current systemd implementation.

Signed-off-by: Bob Henz <robert_henz@jabil.com>

commit 68b07bb7f0f01925f9da1cb966239ee49d5c84e3 (origin/master, origin/HEAD, badger/master, master)
Author: He Zhe <zhe.he@windriver.com>
Date:   Mon Sep 26 16:08:07 2022 +0800

lttng-tools: Disable on qemuriscv32

lttng-tools requires SYS_ppoll and SYS_pselect6 which are not supported on
riscv32. This has been confirmed by lttng-tools upstream.
https://github.com/lttng/lttng-tools/pull/162

It's also turned off for riscv32 in meta-riscv.
https://github.com/riscv/meta-riscv/blob/master/conf/layer.conf

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
```

(As you can see from the git log, that commit was pushed to the remote forked repo called "badger".)

> 
> 
>> From 6cdb207ed99bc82324fb7b85126425ac8d439070 Mon Sep 17 00:00:00 2001
>> From: Bob Henz <robert_henz@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.

I will attach a new patch with a SoB. Can you explain the value of having me sign off on my own PR? I guess I thought someone with more authority would be signing off on the change...

Thanks for your guidance

[-- Attachment #1.2: Type: text/html, Size: 4271 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-WantedBy-processing.patch --]
[-- Type: text/x-patch; name="0001-Fix-WantedBy-processing.patch", Size: 1657 bytes --]

From b637a46f58b5adc7dcc76bdef90a7be8c8462df8 Mon Sep 17 00:00:00 2001
From: Bob Henz <robert_henz@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.

Signed-off-by: Bob Henz <robert_henz@jabil.com>
---
 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.25.1


  reply	other threads:[~2022-09-26 15:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-20 17:55 PR to fix WantedBy parsing of systemctl Robert Henz
2022-09-20 21:19 ` [OE-core] " Alexandre Belloni
2022-09-26 15:49   ` Robert Henz [this message]
2022-09-26 17:52     ` Martin Jansa
2022-09-26 19:50       ` Robert Henz
2022-09-26 20:24         ` [PATCH] create-pull-request: don't switch the git remote protocol to git:// Martin Jansa
2022-09-26 20:31         ` [OE-core] PR to fix WantedBy parsing of systemctl Martin Jansa
2022-09-27  1:30           ` Robert Henz
2022-09-27  2:50             ` [OE-core] " Martin Jansa
2022-09-27 10:13         ` Ross Burton
2022-09-27 13:33           ` Robert Henz
2022-09-27 13:46             ` Robert Henz
2022-10-28 11:46               ` [OE-core] " Ross Burton
2022-09-27  9:50     ` Alexandre Belloni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=18402.1664207376148460909@lists.openembedded.org \
    --to=robert_henz@jabil.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox