From patchwork Tue Sep 20 17:55:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Henz X-Patchwork-Id: 13052 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 456F5C6FA82 for ; Tue, 20 Sep 2022 17:55:46 +0000 (UTC) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.94]) by mx.groups.io with SMTP id smtpd.web11.267.1663696544967738709 for ; Tue, 20 Sep 2022 10:55:45 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@jabil.com header.s=selector1 header.b=MtVGrlQz; spf=pass (domain: jabil.com, ip: 40.107.92.94, mailfrom: robert_henz@jabil.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=agRKDZQnZCaTxrPgRrgjq9DffiqkJGVrvAVrFftt++p/qIbzR2uhB6gak5dr2z7KavGenGXgY2BwbnoOMbMguxLxntpULGlHC/O/Q248ZVhaBv97yB99hl1h6oRnNyQsEVhGWTyMeLDIpktG4Xw5L634nIgLfjcZwuSmXkSPBjEe/vkI6OYe1pOxjo5+3VkQgx8pz4ccU53nuPaleszFnjJXazZ4bODxwoAskOsZ42KUl8+2WiK7Ur6utuy16nGAB5r6R4GZ6wJHrv3u31GrCgmMtsbL2HFTKxaGW3ec8FJPd2Mxt0hl9N4vsYkZSK3j1ydVN1FIR669z7rECsCF9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hHNXNvL91qQVG/SgEr3qHw009nxoUkuql3UV/Y4tgXo=; b=ioSnsLZ8QUgOJksVZIJi6VEEmB/xF8Bebd5xZGNhjL5nHlLJZcB59u8dnUGYHpwl39RFc8IHlW7hbMbW/UwoCN3BmPx9z0Bt78Fkjsk7qM1ZZOw68lgfTLR3AjS9v2A+2PZcpfGbOHnifm7dII69ToHFV/OKG+N9c5sFtf8EiBNf1OLJo+rUyWQBhdnM0z5+julOeqpPvZbwLn/jXBMI+zDrXUqNoENUXte0MRsVSqxqgk9zzjN1YUhjCNxazh1uJ9gtBMpGXEt1gEXfpvssbm8pN+BcPwqN5vtzk4NCBzyU9kRTGAlgcOLqxtR+wcemILumtJobJavG1ufPgPTw0Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jabil.com; dmarc=pass action=none header.from=jabil.com; dkim=pass header.d=jabil.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jabil.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hHNXNvL91qQVG/SgEr3qHw009nxoUkuql3UV/Y4tgXo=; b=MtVGrlQztBY/4hJFwErTj0hx7l/EaSNvm6ljBDvmwwwcufTu0GPsV+L+gqw8idk4JNBUBpitLbnOKgkpyXw3Bs3LNalHHyF4vCNEtpwUcUxabArCdeRR5Py/zrM+CdwVw74CcDWkdBrop2aHS+RKJL3KH2EBph9JHheBCpgskPAMxWkw85y2I3rMuhrzEYbb4UcbPFWsv3ewjvrJkIX7gjlQC08iDFUYhmHdLcLEhb7YtW7y0nEnqUkfDtIaSqY0MxrfQpINjRd0Wkj11a9Y0TKxfB+aLqzWq0NTjez4+uswuvgX2x7EvXlTwsby2OyzJOOPu0domeRSLma8Vu0LbA== Received: from DM5PR02MB2218.namprd02.prod.outlook.com (2603:10b6:3:55::10) by PH0PR02MB8679.namprd02.prod.outlook.com (2603:10b6:510:10e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.21; Tue, 20 Sep 2022 17:55:42 +0000 Received: from DM5PR02MB2218.namprd02.prod.outlook.com ([fe80::fc3a:c696:b416:aee9]) by DM5PR02MB2218.namprd02.prod.outlook.com ([fe80::fc3a:c696:b416:aee9%12]) with mapi id 15.20.5632.021; Tue, 20 Sep 2022 17:55:42 +0000 From: Robert Henz To: "openembedded-core@lists.openembedded.org" Subject: PR to fix WantedBy parsing of systemctl Thread-Topic: PR to fix WantedBy parsing of systemctl Thread-Index: AQHYzQWznyTD58gH9ESfGzUBG724QA== Date: Tue, 20 Sep 2022 17:55:42 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=Jabil.com; x-ms-traffictypediagnostic: DM5PR02MB2218:EE_|PH0PR02MB8679:EE_ x-ms-office365-filtering-correlation-id: e96572e5-9f4c-4812-4c40-08da9b3155c4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rr0ttusM/Tof1C7jN6wThMDtABz0FXbUkv/+aaSLeKCOmpkvx+Wpn1RldN4a/3v5i/QTcokzyqpkeKgMN7LR4IcuyTYyskUm/Ga2nc+1FludN8ncr5RtP6NPoVGjV0OPiKWtpnEeSl5T6csgVh4w77XKKESG9t4E6fOk6E1VZwuT1jGS/Iwquo5BTsoQ4iLRSF2c+1cwCB94ZEMTEAbboI4ICs++6QARvl4GvC6hSN1d9oJF9Ad9TokscFFaSWCjAo9tk4KJVhwZ6mFzf+akfJFbvQXtEAiXaGC42RlN9hhm7/kT8rGefIKjRMtMjqvhNh8L35zcO8krYGjQqsYOJBnKW50hqcEA9CTM+3XCcAziJNdUHCwki2tWMxyZ4Sf1eBSO518o+AdRoZ4soQUCy5HgmXLRGRRWavYmZANN/zfwtK3GV28YzEyhXi/mF/cHReSa1qW3YTZz9GHPxU4SWbNoBPj22x+jbfLL42wu5sw6xcGd3SUxtR5Ye4QcV/M/TATHKsLddZmwZ523LDTYfaJX0zQbSkNwr5Gl8Kk7Cr34qZwwOK+13EVyvZexpYD7RQBoJ+JdKl+TTAFeLc7TQTy/A1V0h0Z72Vk4MlRIQAFlJPtc3raCOkmLjnrtgtpAqyHrq+f7nf0mzWT08xGWkdPvMv2STOXVmnh2Jc5fyFW/gvQZSJ90OHNTiMygkWiT16JO1z18VvdbLMmNVXrqkc/9wLGU7b+ChMaOkr+vsPJgOQUGocusBqSJ7TI3C4E3CqqAgdFSDRG7LjWeRR24aH+jgK/FGUZdVsL2Z5qyluE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR02MB2218.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(366004)(396003)(136003)(39860400002)(376002)(451199015)(4744005)(19627405001)(99936003)(5660300002)(2906002)(6506007)(186003)(7696005)(8936002)(71200400001)(82960400001)(41300700001)(26005)(9686003)(91956017)(38100700002)(478600001)(166002)(38070700005)(76116006)(66446008)(64756008)(66556008)(66476007)(66946007)(122000001)(8676002)(55016003)(316002)(966005)(6916009)(86362001)(19627235002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?v3Qn5ycM14X5tZA6eIUDkng?= =?iso-8859-1?q?T1WI1GBfBW/tiEgWkKHs/qaWHch0lo8hgnTnPU2vCVTotISxbBC3cmR9WTpM?= =?iso-8859-1?q?MZ4OmbVaHFttCqDKscEl272fF9kptaTqLTkD7B7IzyYeji9nJBfrGnBAsdIc?= =?iso-8859-1?q?tv2fi0rfMji3r8/9MhJbRAiCczPot8I/fy76K3zdLCn8TjDscI6GXSJBxpGR?= =?iso-8859-1?q?AAAxIHJtab47K3Tkth1U/JgmZ25KviOL+mtbAcI49l1PBBvMmeWa7MOiWpPY?= =?iso-8859-1?q?/H3zdxbR4fo6rkJaQ7TtMLQNYy/j9B5aJ6Us21uswdq6+EjL0hrAy4qlbqLJ?= =?iso-8859-1?q?6UJ473oaHDfgIuXgcDGS6rinbE7wFJTyzOIAlYlXtmg7A5JYs0lYlHQkcrYs?= =?iso-8859-1?q?8/4YwqPA/udW/kViFEoqEddZyyxkwVDlBjaiCD91aZAZTAdokqR0m3RbL1Aq?= =?iso-8859-1?q?ujD1hYQNdBvrb0elI7i7J59z3O1FNfhTFUZ9BctEdRrIWl86qj7opkaW2ABS?= =?iso-8859-1?q?v8Z/ZdFSM2aq23OpVj1wNmqo0ho/ya9HezT/A56OtqAwCXo/XnSUaVRncrCx?= =?iso-8859-1?q?tUl8xW11wWsTsg3w3OxzuNV3xDPUiZ0i9vyZJZoI17Ek575hxSmtP15AbjcM?= =?iso-8859-1?q?ZXKVP+dtH/VtrJWg+Y+4j6vGA8T60qCcb+hNZTXizZkyrkh4N5y6gxKMJfrt?= =?iso-8859-1?q?XRouSI43uF+wogLnWxnjMRzxhdpkEUfeiqZGlXJ3xgoLCtkV9pPfr4vTtIfm?= =?iso-8859-1?q?6si8xphCzUuy4MD7EbSDj8IXxmqQnT/FMJTzKJSW5R7rP9W8PX8poJTLSu0l?= =?iso-8859-1?q?DLArJJ0m99vWIJEtqa9RA3RAj9jDEXcho9l+E5GwtemuaIq0vRNM8GXhIJK6?= =?iso-8859-1?q?ED1xje698esh87m4tj434uLWgKcFsvd/a7MyGMdonI5ulNkJ0v2AmsQuAG4i?= =?iso-8859-1?q?DYUWC8GYB4xq8qIdh/HIdWFK1p4zmMIM32ImNQWKSXn8S7t2JjBZXg+tfl2W?= =?iso-8859-1?q?RU9BPSEKXX477v/BTKea4z8f72oD4Yla4nDsvWbj+JMdaaUzGdFXuAiErui+?= =?iso-8859-1?q?FcOB201Rffq9XEcnMZqLEO5BP493GKvkEYJ5NqYDPcrEW+ilFy7IC1wIsZcq?= =?iso-8859-1?q?U9oQw1UUBxZuwAE2ERNr91D9HcEw6TGYqM4L0UglAg8mIkcB0NnQl4+/fCaC?= =?iso-8859-1?q?jOnDrKOGTCiseHopY7V3s6mKsS1oTQcohCe15gFOy1Aw0Okka7WcliZKpEoU?= =?iso-8859-1?q?bwFTxThucq0ikqcrbhgk5pQOQkXK2406GA9e3/zxQyvXHmUPzUeGfIEyod8t?= =?iso-8859-1?q?7rsPDDaJogA4Crvc4wFvzTKsh5uzVaTxY7FXwvipuA6CAnzmOKLSAdu3hCcJ?= =?iso-8859-1?q?92/zv25aTe7m/badsibpK6ILbokoCC33Dr7zVowmIdB1pRKdoIh0c4ANVXsG?= =?iso-8859-1?q?24z3RifdsaqyGx1jyFtR9rxOh+3LmP7YGZ6+vL4uBoNNiXhu46nL6TDKBFkv?= =?iso-8859-1?q?lYvp54ryuk8UmmcRQ69Pt7gkBpne2myq5x92cS/KVNG2zfd9jDk1/JD794I3?= =?iso-8859-1?q?xj2QxcS9n3HOwmkDpL8xO5YFoeC9XgvH1SNpNv9xIdFSW6BekK7bsO7MOTFW?= =?iso-8859-1?q?4VXpEx8tjUlLauPB1?= MIME-Version: 1.0 X-OriginatorOrg: jabil.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR02MB2218.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e96572e5-9f4c-4812-4c40-08da9b3155c4 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2022 17:55:42.0508 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: bc876b21-f134-4c12-a265-8ed26b7f0f3b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YgwHniNw0bFb8wnyHlnts/FR/ZqmClZjS3lctyxXkQwtA4cdAjCFWp/fykFnDrOx6DMnXEWTU8+I1o/tuALJtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB8679 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 20 Sep 2022 17:55:46 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/170905 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? https://github.com/openembedded/openembedded-core/pull/78 Again, I apologize for not being able to follow your defined procedure, please let me know if there is additional information you need from me. Thanks, Bob Signed-off-by: Bob Henz Signed-off-by: He Zhe Signed-off-by: Richard Purdie From 6cdb207ed99bc82324fb7b85126425ac8d439070 Mon Sep 17 00:00:00 2001 From: Bob Henz 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. --- 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