From patchwork Tue Jul 9 06:49:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gassner, Tobias.ext" X-Patchwork-Id: 46180 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 E0145C3DA42 for ; Wed, 10 Jul 2024 19:47:39 +0000 (UTC) Received: from mx08-0040c702.pphosted.com (mx08-0040c702.pphosted.com [185.183.31.154]) by mx.groups.io with SMTP id smtpd.web10.7013.1720507756881572587 for ; Mon, 08 Jul 2024 23:49:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@karlstorz.com header.s=S-DKIM-20210427 header.b=S9sxvStx; spf=pass (domain: karlstorz.com, ip: 185.183.31.154, mailfrom: tobias.gassner.ext@karlstorz.com) Received: from pps.filterd (m0267678.ppops.net [127.0.0.1]) by mx07-0040c702.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4693ixsU004534 for ; Tue, 9 Jul 2024 06:49:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=karlstorz.com; h=content-type:date:from:message-id:mime-version:subject:to; s= S-DKIM-20210427; bh=pWUMBx73rU1D8xAnEKnmU1kltzpAWoxDilU51rmphiE=; b= S9sxvStxlIVnVxXNDj4ECMrYTRlA4BpJClW+4mIVG5plE0hBQCgt8BJ+RE4aZQJo B8vf7XfhvwRClDbc5UZpOFeOkJ+stXwXVDVp0ch/5tLNsN6Q7QIWpSn2au4+oR2M 7qNiAU4ZJKpfa1LhonVYdaGDsmvyCSgX5PqqTFhxRLA8OQwgd8t3Mt1UIxWRrsQV E2pmdxIVL1sP0GKS4jL6Yp5dhViViyCj3aeufoqajl48MHNGRDF07P+0B+bD/7Th +W7uYqwFLLlvLC5rVZ43R0tMob4KijHSLW9oeyUSex/L99io93qi+r3RIOvgueL7 Cj1PMq4H9RJGjVXjXl/f9A== Received: from eur03-dba-obe.outbound.protection.outlook.com (mail-dbaeur03lp2169.outbound.protection.outlook.com [104.47.51.169]) by mx07-0040c702.pphosted.com (PPS) with ESMTPS id 406wf0chmx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 09 Jul 2024 06:49:14 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PMiYxiO9nIxbhTfchkOOEHNIaBoYRyC9rVVcWuee3SCKlJAh+Wu9jwhA+JnrLe9t+gLzMUb5nRMuITTOeUa90slcNBJmc1783RUY3+qIsDOmt+vgG420Ax1X4lO8qgAVSEyUfB996pHWxC0wbdQtn85YWSE53wz53h01dcZ6/X61rJZrTf7U3h3tKS0QXUw5tA2+eSPzLyJpmGyNoKqnYJ+CEz6laur9hC1wVmC331X2kxITgo1RnaOhKtBlqWID/Zj/FgxnaSACf1BPe2/KS5zDN4hEvkXifpRIb3BS8F2rysrmq2Dfc8pHpQOATHACEPjOmo6rocmyWhxWLvaARQ== 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=pWUMBx73rU1D8xAnEKnmU1kltzpAWoxDilU51rmphiE=; b=axfe/IL184InSRWSb2D4dEk3c7S30LtJTLoVT676qybxYipIZZYG4oTNsyBNOIUKClXPZT1eey6z9USkQCsC9Nkf97G1VTCgK351R4ZzHqHox3HX/Ln9dvBtcxcDARcf1cOBHk+zcOg4baFQguosgKfi+teAiTOy3XN8cevukabdlyhVnnwHNvLZg2QGRZGyN0PZh9NbvS58zPUXBK+NSi2XxJd2CpcFMEasw421r/NBDYZy/QVmBV+BePa4uSWGH3lpCJ3EnS8JshHur31obkMK/Hcpx1nzhLmF6Z5NAmGTms3m9XH54m/sLfabgDMHbw9jSJC/aWinpEqankLINQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=karlstorz.com; dmarc=pass action=none header.from=karlstorz.com; dkim=pass header.d=karlstorz.com; arc=none Received: from PA4PR01MB9356.eurprd01.prod.exchangelabs.com (2603:10a6:102:27e::19) by DB8PR01MB6277.eurprd01.prod.exchangelabs.com (2603:10a6:10:15d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Tue, 9 Jul 2024 06:49:11 +0000 Received: from PA4PR01MB9356.eurprd01.prod.exchangelabs.com ([fe80::25dd:b483:8f47:4413]) by PA4PR01MB9356.eurprd01.prod.exchangelabs.com ([fe80::25dd:b483:8f47:4413%4]) with mapi id 15.20.7741.033; Tue, 9 Jul 2024 06:49:11 +0000 From: "Gassner, Tobias.ext" To: "openembedded-core@lists.openembedded.org" Subject: [PATCH] execute pkg_postinst_ontarget task for read only rootfs when read-only-rootfs-delayed-postinsts is set Thread-Topic: [PATCH] execute pkg_postinst_ontarget task for read only rootfs when read-only-rootfs-delayed-postinsts is set Thread-Index: AQHa0cpowAP1smDZ3UCWfTzmGlY/uw== Date: Tue, 9 Jul 2024 06:49:11 +0000 Message-ID: Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PA4PR01MB9356:EE_|DB8PR01MB6277:EE_ x-ms-office365-filtering-correlation-id: ca9bd594-dfd8-4e27-b5d2-08dc9fe33d47 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?q?eDEWlCp4597Edymqn2iR4NInFK?= =?iso-8859-1?q?H0UzYAi7J66hpeZCz+7f02TAXMW90nuacJ/0ObIoIxxoOcwychpvaWB9yE6V?= =?iso-8859-1?q?Hz3uJTjglQ6nD3oV/4G8nDk3qTDbuMf/9ej7u2CQUWmnaoQmCJxVpK81KOag?= =?iso-8859-1?q?mMDC4T77rpmrK4Eq3LUA0tuVNgklTtPosAMoZy/fKSiDXcdSvERHmPsBLFbH?= =?iso-8859-1?q?QuTDwqBH3/7IRewnKJTGcxDwQU5Mn7W+dapxc/yQ3NyYOA5RFzL+mEqzz/xC?= =?iso-8859-1?q?cgIIw/xu80Nx96MF9l6Dw8KCJroB/61MW46ZoeSAJrPR79RaQlMkJR3GpmU5?= =?iso-8859-1?q?0mf0Fl4W67hnTZaowxkM4vW6LBi7IQuBVgaA5oTE/wm3FhyrpnLET3mWyI2m?= =?iso-8859-1?q?4O77rU9vVoLFkYzyK+a5h/rqGfYFQopJUP5qULOioQ1/uirAtaHKl4R+4VEH?= =?iso-8859-1?q?9WJsb5hDvN64j8HMm60gkbQfFGscW/0ipvOTbbgDmq04iVOXHsDssnpyzEdI?= =?iso-8859-1?q?NLWeodW0ymnpXqw1U5KhslasWDMgkQ5SgyUPwRkGA84v672MsHUUctZESc9c?= =?iso-8859-1?q?OBwky7PDyY1rIDZwlNG+1whOru3WZitrJkX/cIcsSGhPv8JBGpI9ugz+Txdb?= =?iso-8859-1?q?cPvf5jy2nOkRNtL7j7Vh+2FtfBZn1n5XuTI0a1duGjKKe/h4wc0SQ9HNCxi+?= =?iso-8859-1?q?JoO9cStZ4obEwWV2kZNt/xO9OSyz2lHBvxLBtH9ractyGEQ/chp0U23xY/l9?= =?iso-8859-1?q?SX5ssfMYnk4CUUtpfBlVmDTyymsA36Bpo851dF1TmDl+k3ii55D4us88KWeZ?= =?iso-8859-1?q?7622WiYtHUlX3YVR1Enu69l/qXSo32GNDwSd4Kh6V1CLI1t4OoaHFLkywGr9?= =?iso-8859-1?q?6YzTeTxWxHqI5J4erdfXxQkZlTF2B+EJbYahdZUtcc+k69pO+q71fn8NAWdq?= =?iso-8859-1?q?7sDSO+zqSU7AyVM67eqtWfFdYAWFEmqrtWZatJDknxgyqsLn16ww3/ps/HKi?= =?iso-8859-1?q?HXwlXkXR88gGQP8QY6f5700hrDRfyH5zsDO9pc1pqv+eF8dRPba7jHpke7Og?= =?iso-8859-1?q?rFDD5NUFAiExZ7DGnOTGkxMpIkmOWMjOIS9Ad0SHAY1Fj+iERF1qXCRxCd7m?= =?iso-8859-1?q?0pBsffi6Qlz3GZe/ViGXXSSGqamvwET3HTmKlzY+N7OtDa8yg9oCY19aqASq?= =?iso-8859-1?q?cdzLQQZ0jIedv2KQFsnN6YXMcOaSdcNmZtDP/Zc7hn1Ohy579KheC2lU5BM5?= =?iso-8859-1?q?JkF4noY/OLsUNW577kNP3+941Y7yLfOWyAn0+db/WtR5K42lpNOZCpqeVjfp?= =?iso-8859-1?q?iVipvUeiLKqHCiTiIdfKmClmGS7uoKIIHsDHC1lb7X0f/a9l36B5kIcmjcC7?= =?iso-8859-1?q?7O7AhNugvbLSntEMXz+LvchQZs/4OFacHOyx378KM=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR01MB9356.eurprd01.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?bME7pIwzplghEfDkowh94BR?= =?iso-8859-1?q?44yMsgLpmgKSKNdKGm2xwEx5KhP1xlfol4BUTV24JbZ53o3RSzxmm0r1QRwb?= =?iso-8859-1?q?IKA2BRPavyUQhmkLzRB+9LQFNlUU/LjbhV7xyZV0i1hEPBfcgK6+x9tK5TJU?= =?iso-8859-1?q?060VmlEYTNNh+sIofhu7UA4inmpT7bXi+1JVDqQkMNxxIPeJgFDdk2gwvA54?= =?iso-8859-1?q?15u42q6Y53SnxMDA/Fu+CWARGW9SmSU54KGd/R0B1lmxUCsaS8vtFeS1bUvG?= =?iso-8859-1?q?TXSVJNikMZhC1dm/Tjsu3896xL+Hph7Bmf5MzbyPgX+2aF5EZHOWJnpUW+rK?= =?iso-8859-1?q?dH8coMcBFuO0LuipI4m3k6b11g0Wu1akHWleBdKlBC+xn0vBQZ4dLnNY/JZ3?= =?iso-8859-1?q?3imGqKisKptobGDmziwgjKU2rhj8NkBooKHgASA6NOYkD1rNHzTeYSPNq2ei?= =?iso-8859-1?q?04BRqRhZbJ7gu4y61vrQsKz59mTa8b2qSnsZO/+gQ2H957X3438PAc+fhq+T?= =?iso-8859-1?q?Xm/aw6YvjZJwik7RBK19/un066zLtEFrP2V/TjANvqLrqCvmq/OzgcLX1nEy?= =?iso-8859-1?q?VO1af9WrM1xsTOgLrEoyYlUQXif8BX2H8amIUDRI3DhkFsqLfRTSMgpLp40t?= =?iso-8859-1?q?4V2uKLgbqLPQ+pHaha/dfa/vJpuOFQDlF3DFLFd3f2njlX5f66BfmpaRjSwB?= =?iso-8859-1?q?yUY0Q+dfOdWAQUbqS2CxT8gM7kUkAvtetyHN7Klzynv50EY/jUv5mQbpNJ0I?= =?iso-8859-1?q?n4FjDEw+oCGJA1i78J/g2vSE/4ueYmm9MjOf4/DwIAlqi1z/ZMQ+z6IGKIGW?= =?iso-8859-1?q?R5Gbx+9znha948YycLAqGjCtIQQLektJ/tRuMVqW+CfG3rEcfiZsSi7A8d9f?= =?iso-8859-1?q?Y/boQnMkAYFGNoYTsQ6Li1DDLA7aPEkZ/O5CnA9HZct82tBRDZ+iSvwR9MV9?= =?iso-8859-1?q?qwZrN/Tk3i1fWQwn2y3J4G2z85HeA3WYE0ART/K17W6sI/u5wk6Fizp7hXn2?= =?iso-8859-1?q?NDuxiNFYQPhOBvhfBLcWKE5iBQn77V0TDs+OFeV9gl9FStyxdgUihDDmlOK4?= =?iso-8859-1?q?w1xlnNuduKo2REkPrljH9XXi0yKnLs5GvfzeAxiEKvIPyh8MG+v/xiWUq9Fx?= =?iso-8859-1?q?OaRC1b5Z+I3d32E+4Nlc5amUAUXKOv6tXHDXySZmYGKxb/kim4qIZe++IqjZ?= =?iso-8859-1?q?ZhhUSnqoYvn5+o1I7UiQ2FF07OUCAC1Wy7v05vsZ2Ic88z/1WLyM6ALAQGg5?= =?iso-8859-1?q?YapySCjqhd1aIB04xtKNtafzaH1qJ8YoQ+ChD7d9EFuKDt2Fp7KYh6c3eekZ?= =?iso-8859-1?q?OHh8cQENXhoGeyMm1Hb7T1KFWGXM7zarUErbn3J5tjd6XYNDb1zv3qSN4QqF?= =?iso-8859-1?q?l/Zxb6UJvMx2HiZOXqaK4RE2VpTCYjWdQ4qstBckurzZevDKLkJq2ZRXzxJZ?= =?iso-8859-1?q?yCLGXoek1Sw+A05BFZZgRZMywuS0kUi4NhyLt2ZDXg9fxTKbzoNOfPie+BW+?= =?iso-8859-1?q?RZXu0KdXKDQdX6gRenNMKDf7uBe/g/Cioq5Zji8W3SG35iMESvisdXJOkY/3?= =?iso-8859-1?q?dXjWbVqewdYJ3/xAJjr+jMT8spLESIgwcfbjKxFXwDER1764gFObXQXqSzLA?= =?iso-8859-1?q?8kmyapWJ9zaTQ2Jos6RSRJynH+DWMq94S0xpMNrYUSsL71SrIWH3WgvBL+Cs?= =?iso-8859-1?q?OJZDTtK4IsvRHsQ1YcX6s83/o7ZtPsGo1ZaVmDpps4w=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: karlstorz.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR01MB9356.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca9bd594-dfd8-4e27-b5d2-08dc9fe33d47 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2024 06:49:11.4096 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4a0b6f21-e6e1-4ed6-9dcf-e60e7190f648 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KM25BCRqAk8sxsaUMOUGG0jnwX0cCT/4bFEhxFmZfc8/g5lVrwO2gyt4ZJYpYbADtfoJBZf3lZmSrff5tm8FP196QDmhzp4AQ+80/BURyifkEkGJxnY7tXk4sjm6GX2R X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR01MB6277 X-Proofpoint-ORIG-GUID: KqP82HnlzM-Ol3GJ_ouLhuJ_AB3t05hL X-Proofpoint-GUID: KqP82HnlzM-Ol3GJ_ouLhuJ_AB3t05hL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-07-08_15,2024-07-08_01,2024-05-17_01 Content-Language: de-DE 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 ; Wed, 10 Jul 2024 19:47:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/201739 Hi, this patch will ensure that pkg_postinst_ontarget task is executed for read only rootfs when read-only-rootfs-delayed-postinsts is set as IMAGE_FEATURES. In addition to the fix, a test in meta/lib/oeqa/selftest/cases/overlayfs.py testing the fix has been implemented. See https://lists.yoctoproject.org/g/poky/topic/106869018#msg13391 for the discussion of this patch; this patch consits of patches 608050984c5be67f506a0877fadbbe0b61575e54 and da51462765e24b186c55431b53856eebd5f6e8da in that discussion. Greetings -Tobias From ecf1d8c47ecb72c2f27464f01e932091374f4e6c Mon Sep 17 00:00:00 2001 From: "Gassner, Tobias.ext" Date: Tue, 9 Jul 2024 08:34:30 +0200 Subject: [PATCH] execute pkg_postinst_ontarget task for read only rootfs when read-only-rootfs-delayed-postinsts is set Signed-off-by: Gassner, Tobias.ext --- meta/lib/oe/rootfs.py | 4 +++ meta/lib/oeqa/selftest/cases/overlayfs.py | 41 ++++++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) -- 2.45.2 diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 8cd48f9450..5abce4ad7d 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -269,7 +269,11 @@ class Rootfs(object, metaclass=ABCMeta): self.pm.remove(["run-postinsts"]) image_rorfs = bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", + True, False, self.d) and \ + not bb.utils.contains("IMAGE_FEATURES", + "read-only-rootfs-delayed-postinsts", True, False, self.d) + image_rorfs_force = self.d.getVar('FORCE_RO_REMOVE') if image_rorfs or image_rorfs_force == "1": diff --git a/meta/lib/oeqa/selftest/cases/overlayfs.py b/meta/lib/oeqa/selftest/cases/overlayfs.py index e31063567b..580fbdcb9c 100644 --- a/meta/lib/oeqa/selftest/cases/overlayfs.py +++ b/meta/lib/oeqa/selftest/cases/overlayfs.py @@ -5,7 +5,7 @@ # from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, runqemu +from oeqa.utils.commands import bitbake, runqemu, get_bb_vars from oeqa.core.decorator import OETestTag from oeqa.core.decorator.data import skipIfNotMachine @@ -466,6 +466,45 @@ IMAGE_INSTALL:append = " overlayfs-user" line = getline_qemu(output, "Read-only file system") self.assertTrue(line, msg=output) + @skipIfNotMachine("qemux86-64", "tests are qemux86-64 specific currently") + def test_postinst_on_target_for_read_only_rootfs(self): + """ + Summary: The purpose of this test case is to verify that post-installation + on target scripts are executed even if using read-only rootfs when + read-only-rootfs-delayed-postinsts is set + Expected: The test files are created on first boot + """ + + import oe.path + + vars = get_bb_vars(("IMAGE_ROOTFS", "sysconfdir"), "core-image-minimal") + sysconfdir = vars["sysconfdir"] + self.assertIsNotNone(sysconfdir) + # Need to use oe.path here as sysconfdir starts with / + targettestdir = os.path.join(sysconfdir, "postinst-test") + + config = self.get_working_config() + + args = { + 'OVERLAYFS_INIT_OPTION': "", + 'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': 1, + 'OVERLAYFS_ROOTFS_TYPE': "ext4", + 'OVERLAYFS_ETC_CREATE_MOUNT_DIRS': 1 + } + + # read-only-rootfs is already set in get_working_config() + config += 'EXTRA_IMAGE_FEATURES += "read-only-rootfs-delayed-postinsts"\n' + config += 'CORE_IMAGE_EXTRA_INSTALL = "postinst-delayed-b"\n' + + self.write_config(config.format(**args)) + + res = bitbake('core-image-minimal') + + with runqemu('core-image-minimal', image_fstype='wic') as qemu: + for filename in ("rootfs", "delayed-a", "delayed-b"): + status, output = qemu.run_serial("test -f %s && echo found" % os.path.join(targettestdir, filename)) + self.assertIn("found", output, "%s was not present on boot" % filename) + def get_working_config(self): return """ # Use systemd as init manager