From patchwork Mon Oct 26 10:10:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clara Kowalsky X-Patchwork-Id: 5561 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 26 Oct 2026 11:10:37 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-dy1-f191.google.com (mail-dy1-f191.google.com [74.125.82.191]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 69QAAZJq009529 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 26 Oct 2026 11:10:36 +0100 Received: by mail-dy1-f191.google.com with SMTP id 5a478bee46e88-3692c5b061bsf10829309eec.1 for ; Mon, 26 Oct 2026 03:10:36 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793009430; cv=pass; d=google.com; s=arc-20260327; b=SM22NZ0WaCN6DLuVn9xVoE1Tu6KdJ4EMId3xEbt2ksMQ4KYzKF2UVlyOL1yyjjFk90 ak4eFfEVUKtv8uZvqmvS95rgJpLZLvcY5eA2opPs3rslcqJD/f0naCypnOk/ygj+ZiMi jsvjGv3/VPOqJK4R0IJBavJgB8fCiuDVZ/RpxEasy9ywEyu742jcnbrDXqx5JQTLUa1e Kw8Xq0rrNnNqOxcoj/f6UCGQi51xzfocZLOzi+57fz0skjPtqEnFSiqaUKZcJBqVtwhS /SE6NogTL+zqp5CJkJiEgBLzkqMhPQ94mn70HxkLuK6WFCbVIpXVQJm67HVeoPeDbaVh tprg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Jt+wG+vaFzAYrkzE4xa7H2uKjDdp9wJ4r5MIKqWpMRo=; fh=pP2gnbCbpFTslqMzw3+iLzkz33CWb/9LPVec1XnZRwY=; b=qc1XEG0/npEEOUAy2RRZOCnzK84VCQmEqw2HVZtizR4/EqakS67JQbq8+Mw/JKBAlX eCZ/2E961vSaChlT60Yr0LQWk9zBxvGJVTn/FbZxeJ7hupICsn++0qgygZQGdSmuoKFM 6qAPTNvsUpg522ATRpeTIsiK9YClBRBkvWMAZwgAphWrj8Vxx0ldFXRuUna4xpu9OnB3 rN6A39iQecieuRsbVohYrrejqC6Ge9cIkUhH4iuePViwLgX5Y2fcx3I1gZrqS0jShZ/d g5Dz3Wly5Tr0fpRK+0ZGKBOyHJPoLLuvkFX0v/GuxI9Z/iuAm3yjfoGXAlZipkt9yd+M 7Uxw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=or0bmIHp; spf=pass (google.com: domain of fm-1047747-20261026101022f875e655a5000207b8-22ulb_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101022f875e655a5000207b8-22uLb_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1793009430; x=1793614230; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-type:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Jt+wG+vaFzAYrkzE4xa7H2uKjDdp9wJ4r5MIKqWpMRo=; b=uptwXWqvGVRLNRV8x4wttSAsJSRR/KoFsl4YRi2YLohSNzEk57KMbp804IDFhBAFsp v49wLr7OKx6cIhi2iRcZc1fuyFDVa6X9nBT6nenbkP5TOMvWe0LF+Va8m9NvDN5C4uGs vWh74te+wWmnvWVOACbJLz1twMwGAlRGiGWNYO3mqAhvM4MJH7IhkuzaZ4mG3PsHnO1W ylySIbnVg1eTwKkOw46pB+p7SnNOxc08lKklfXZ9qq+w6cm0tRpQRjF8z6tX6Lo4gFZ3 EeXKTXuS8axeYLUR43sA56LpVhiWrQjdJz3KU3JeqwHNUGNcfFabjfcaVrvFJjfx65aw 1HKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793009430; x=1793614230; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:reply-to:x-original-authentication-results :x-original-sender:feedback-id:mime-version:message-id:date:subject :cc:to:from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Jt+wG+vaFzAYrkzE4xa7H2uKjDdp9wJ4r5MIKqWpMRo=; b=PJFr27uMgPLKUhNVRiVsxEPrImlyFnh8XLgO+lz/mnUSd0oMbiOEIlrcu9gdqwERLI yqWGJEg6N3x+tcEORvhd38wvtR5ExFoVb35/g6lV7WeGI+m864W1qUXt/uQ8RRilVsMq 0ZXUGHgoLRsVxqHOQQt0UtePZCUGqJKerAwHQ8iFOP6/+IfasrbnmBlvcsP4BM1ZhfCf l8vh7IZM5mhw0TRA4ouoF/RKnabZGb0fVsPZmbwWCgfKSyMFt+EYSy+UR5KmAxx9dtBl kKbQ3uYwG8k+COQMbynhjE2wiO43dCSvsDPEJZE6/4cKMROYRpuMKrMyUSDEzx0OOdHv djhQ== X-Forwarded-Encrypted: i=2; AKwUvBxHYZ7AdwzkEPUfp6gaJ8FGUpzs6KMRRAH6YDAIfu4doaeD5uQ6sPAqHUyahx2Lt6CqoXzoH+c=@isar-build.org X-Gm-Message-State: AFq9FYKyHMJwYD0X8L/1g78zdLybI8vmJVcLewNTxS0QlMrCX7ZdTVZj nTVFJ0NmsAN3IZdEE+CvYmDaZQXPaw6U/UyVKXbocBkSWGyCnIgbUnDe X-Received: by 2002:a05:7022:2604:b0:182:2feb:a170 with SMTP id a92af1059eb24-19936a606bamr13314251c88.11.1793009429722; Mon, 26 Oct 2026 03:10:29 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLddGPesfNFYSnCdCeM9xhEf2J1NwyLREPws7V1Z4+xGJKQ==" Received: by 2002:a05:7022:108d:b0:169:128a:65f4 with SMTP id a92af1059eb24-19592b3e8f3ls3301533c88.3.-pod-prod-05-us; Mon, 26 Oct 2026 03:10:28 -0700 (PDT) X-Received: by 2002:a05:7300:3a9d:b0:361:6dc4:d0b2 with SMTP id 5a478bee46e88-369e836c118mr9131333eec.2.1793009428092; Mon, 26 Oct 2026 03:10:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793009428; cv=none; d=google.com; s=arc-20260327; b=pZPTHBAH7EDuG/YZpryZzc0e3Id6d9reOOJLWgTzikCXRy93AxI8n1QmGnsGHmiOx4 UTiN3Avp7ZbMPaiRcQFryH240MNqWP1SIusWM5vfBLwKFv08YpMsQH61memWU9vRbTu9 yenImf/W8PiU9ocibldCmGUS157RMiXhWGoIPyoRSobJvlIQaoIIKOTEag8W/bRLXr1j 0fDORQJvF2RKeW1Id38/tGPQCAUpwMxHRXyy7iNuJbjGu4FHFoyybgPkKqlHPXqdoIFS 8DDWxx9fz1NNin+W5xytaHNC3HgDk7EQVSLZoNktuDPiP7AUORlgfZUflt0TQizKpTcv 3LIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=YLQlKyxGWxJu4nmTsEiiqnB9FhKq4NwPtnLf9WzAO9U=; fh=SLhQ9z95daToN/NWg2kUHafQqIBVSlBxJ9bhUZMImFA=; b=PNQiTQd0qPlOGkDSKCI8AxAsmo7D8iHxbLf3iHEwPI9qRhJ6CPcit5pzSwdNdQzB2Y ABIdPdFU5XDOUSi/jc5CwfdVlxfTqi5/4rwj1zVsr1l8YXcoiAA2M9QbOfvtAIhsW5ZI PZd+3azysoYPbKPRVElwWRQxzSxULKG6JWfleJz9Yibef2oZB4ult7I3BiWlHRdhFwxs TEl2NdXRF26Qa0FDcIhgHlgJ7qLjTmnEBGw7Ul3dLsFDU8y8s51YERxDY6Mhy30+RRxP C7Lmw8GaYgBM9rGwnP3kGqemGWfXPJD5hqJb+i5kWKd0jeglFwLLZCYO88bvumCYN7wo wYlw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=or0bmIHp; spf=pass (google.com: domain of fm-1047747-20261026101022f875e655a5000207b8-22ulb_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101022f875e655a5000207b8-22uLb_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id 5a478bee46e88-369e8ece23bsi132067eec.6.2026.10.26.03.10.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Oct 2026 03:10:27 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1047747-20261026101022f875e655a5000207b8-22ulb_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20261026101022f875e655a5000207b8 for ; Mon, 26 Oct 2026 11:10:22 +0100 X-Patchwork-Original-From: "'Clara Kowalsky' via isar-users" From: Clara Kowalsky To: isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com, Clara Kowalsky Subject: [PATCH v2 1/4] rootfs-add-files: correctly remove files in ROOTFSDIR Date: Mon, 26 Oct 2026 11:10:15 +0100 Message-ID: <20261026101018.276241-1-clara.kowalsky@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1047747:519-21489:flowmailer X-Original-Sender: clara.kowalsky@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=or0bmIHp; spf=pass (google.com: domain of fm-1047747-20261026101022f875e655a5000207b8-22ulb_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101022f875e655a5000207b8-22uLb_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Clara Kowalsky Reply-To: Clara Kowalsky Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The existence check uses ROOTFSDIR plus destination, but the removal command uses destination alone. Since the task runs outside the image chroot, it targets a build-host path instead. Fixes: d2eb951a931c ("add new class to add files directly to the rootfs") Signed-off-by: Clara Kowalsky --- meta/classes-recipe/rootfs-add-files.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/rootfs-add-files.bbclass b/meta/classes-recipe/rootfs-add-files.bbclass index 38f739ee..d33752f3 100644 --- a/meta/classes-recipe/rootfs-add-files.bbclass +++ b/meta/classes-recipe/rootfs-add-files.bbclass @@ -24,7 +24,7 @@ python rootfs_add_files() { destination = d.getVarFlag(additional_file_entry, "destination") or "" source = d.getVarFlag(additional_file_entry, "source") or "" if os.path.exists(f"{rootfsdir}/{destination}"): - bb.process.run([ "/usr/bin/rm", "-f", f"{destination}"]) + bb.process.run(["/usr/bin/rm", "-f", f"{rootfsdir}/{destination}"]) dest_dir = os.path.dirname(destination) bb.process.run(["sudo", "-E", "/usr/bin/mkdir", "-p", f"{rootfsdir}/{dest_dir}" ]) From patchwork Mon Oct 26 10:10:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clara Kowalsky X-Patchwork-Id: 5564 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 26 Oct 2026 11:10:45 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f190.google.com (mail-pl1-f190.google.com [209.85.214.190]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 69QAAewi009551 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 26 Oct 2026 11:10:41 +0100 Received: by mail-pl1-f190.google.com with SMTP id d9443c01a7336-2df8484f12csf26990675ad.3 for ; Mon, 26 Oct 2026 03:10:41 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793009434; cv=pass; d=google.com; s=arc-20260327; b=PqKJmHCydKGsxO6K/KcyNa02Qp9G7vh/IsStD+RRrijpE4sKf/JSq1mL728E9L+/Vm LmfGnMXL5XtR46H4s96938cUfECSAks5MESXfw2HUoAucgK9pZfWktEZ4sgYN2nZBKA7 /ty5YThRqylwnUNn42t6txHp4jy9SsZOFG0Civ0/nvbnXWnt41eEl/uqFvw4GnD2QAYV qblc+1GqtRBLX0bDpHgY5ueWHSFb+dXwa89d/mrs4F+f6CdIM3cgHyA9cEh16PF8HrCE MD/3dU9Nq2fTVEjt1EHDrO3r/EGBMHjI8M4Qkaoc3vSWTzJ+HsIlaTFBGJhrak0IofwL qjAA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=xNA00ET7jEldcdTmYOuMU4lMwQwQcFXY5/YBm9aHhLQ=; fh=Po3/YoKZCJjPPvNbW2NLiXosUx4SE6rYANDacHHfTmA=; b=WmaQXAJEOBSCndhEFM71pquZBLwBKPlvlkLLWGQhIfrJMLr6hOoUYpwYVbTAyhfoqs fZD6XlS2RltWFG/qfrzdNkjFrUlrYDteQA6+x0ZGqq9aBWV2pIpKW2RIj6DvN/KsNzwj ZyjB7Gn2AXlvdPtJxkoV6OPvYqLBDAeDAdJMc/kGIt7Z67NB21llkU1to0VEdFebLbmL dw/hnUGypQPPH3furFDR01+CWJlELIDxyulohA5JxNGS7unYCSGREBcnVUqh2Fl91sTQ JWWaoooOSOsvDc2/oCXhiTmW97sCcQlRaH5JwBsNayilby5pNmfqbY5UanxjTAfVyPED 7B9w==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=HXAHBTmO; spf=pass (google.com: domain of fm-1047747-20261026101026c2074daf4b0002072f-bbr3ke@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101026c2074daf4b0002072f-BbR3ke@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1793009434; x=1793614234; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-type:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=xNA00ET7jEldcdTmYOuMU4lMwQwQcFXY5/YBm9aHhLQ=; b=yTqyvRe5GWWyqozbHeyI2tWLNZ09RrjLeviU/Sbxr7IZwVbvtCwBadAiezEglZb+qU ZA6OYQflKT9BTEOdTqganj57PTjAhl9rki0s/XbLbOyXt6OENvHsiFdVWEuomriFGo4h IgATTcM+WhiceVzQT7LwAIvQV8YQi3jU6wG3exW1J8WvNNtSWMXNHwfJ37Bwq/z+Eg9P oZhbyXQvzeBvLQ9oELsds2hQFznv/3ihUs1BuS+r+Zy4vuTVYPJ7DQ3tSoRsck+8RoIh qa5Kql6Si3OGmWMBVwHkSeySdGz2rM/jq+qWptuVsRKT6AIcVIRdBvAEocy3nXzKVXWG UcJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793009434; x=1793614234; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:reply-to:x-original-authentication-results :x-original-sender:feedback-id:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to:content-type; bh=xNA00ET7jEldcdTmYOuMU4lMwQwQcFXY5/YBm9aHhLQ=; b=ahS7UlkaRhWa7kg+OjIck4f2Wgju1skgqvkK+Fbxfh3Az7PLc7WvqOocDPocGIhcyx 6oWYj7dyQpNgYEsav//B4U/B6FtOrW4QDfS3fXNbTH4dWBKkWO712yTUguwFM1U5HSpV ai/s7J3RN6dleBndlej36hvNbI8r5p9mMExo5peJeArmGilMVWoG4Swm0Ch/GldovJaV ncYU2DvgTLeiBCD7e18x04Ib7jKEC6xJU6ADv1cKYfbksr8TZ7EOw6Mj3xkWM3xmNmbr goBvSgZkGrtNT7SOmeaTZYqY4Ots4IZGBunX7ThctSrMPyp+jD2uJttQdvyX58pprivX 7fSg== X-Forwarded-Encrypted: i=2; AKwUvBymyOxgqls4ZHd+N4yHyjOhwabQMSoZ4iI62zJSjjbLRSKYg80NaFpMl1nYg8JwX+yv+vPkjBY=@isar-build.org X-Gm-Message-State: AFq9FYLdmuZT27Yn2uTWbZSw0NKFlTrf9GR17tWM3eBQXUvUJS38EO// UG37GPVdHRN4KbdlNTakxldqlONXUErFEFycI6R24aXUFYpyTBrHhUBs X-Received: by 2002:a17:902:f60a:b0:2e9:5eee:e085 with SMTP id d9443c01a7336-2ea9c6c82c3mr45723295ad.19.1793009434586; Mon, 26 Oct 2026 03:10:34 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLddOyxcDEfX+TpfWNPSBfxW5DMyDTo0Y1qEqceGdhzqMsQ==" Received: by 2002:a17:902:fda3:b0:2e2:dd19:ebd with SMTP id d9443c01a7336-2ea7b926030ls37654125ad.0.-pod-prod-02-us; Mon, 26 Oct 2026 03:10:33 -0700 (PDT) X-Received: by 2002:a17:903:37d0:b0:2e8:4f03:8a4 with SMTP id d9443c01a7336-2ea9c957addmr48214955ad.67.1793009433421; Mon, 26 Oct 2026 03:10:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793009433; cv=none; d=google.com; s=arc-20260327; b=j9h8r6bXvJMhjizeSC9M0e3I75rAN2mM1un19XibiMGDowMGsFKTm2IxR5bfEeEPrX 0XFVAYlaVhRs+r9NzCOrFJ8TOMmW3myE+CT6c4ZgLptiWriAuVfa/TqhCugnjUY4B1C3 nscmCzOHupjYcM+318JnvSW18AlQMUzfMawwA63P6vrBKXSJJXHmtymlHLOB3Wj4ckTK f1ZXSOXn3cBnJaUpWbSQJUF9iuZy9jeJGDkh+p3xAXn1KOceWbhVpMiugWyupi/6n8JA V9ZxLKhm37J4zmShU66lplVIftPOjAlN6IxewBw5jcJxBBzqFs9f29HgYAEYgSJKpxCM rKaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=FiyyUyWX1L1lz2QWdX0g+AeWgl8/4uj9q0WAc42vP/w=; fh=SLhQ9z95daToN/NWg2kUHafQqIBVSlBxJ9bhUZMImFA=; b=FKxA9JPBKs1HpIE63VKBHl9kYKaa3nq2St4mX6dUQh7t8jxetodBg2TXu014lC58Iw Vvh4/1olpt7Ke5rxas6ofFHSHXf2hGktoKAbW4cZapu7MkomkJpiFEmThT8a7pktW60q 2WpjWtLDR/uXxNhMu5ZifOyC2TY2QglENKYy3CUURDUpSBCPPIIdbqeIeYPG+68TbBKp XSIr80uoOzj38x8Wy29L4NWTBDL66xtFBEy+2s3uVOa6/juDSMSDv+A0g6pY4StxSMkV yNqNIg4n5ujuyZOYWKjrnkEN6wUtyj+GnhDyqzSaO56jGdfpltimbX+7Y472pZb3+NL/ QDrQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=HXAHBTmO; spf=pass (google.com: domain of fm-1047747-20261026101026c2074daf4b0002072f-bbr3ke@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101026c2074daf4b0002072f-BbR3ke@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2ea9b19ea9asi1612395ad.8.2026.10.26.03.10.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Oct 2026 03:10:33 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1047747-20261026101026c2074daf4b0002072f-bbr3ke@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20261026101026c2074daf4b0002072f for ; Mon, 26 Oct 2026 11:10:26 +0100 X-Patchwork-Original-From: "'Clara Kowalsky' via isar-users" From: Clara Kowalsky To: isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com, Clara Kowalsky Subject: [PATCH v2 2/4] rootfs-add-files: use privileged execution helper for rootless builds Date: Mon, 26 Oct 2026 11:10:16 +0100 Message-ID: <20261026101018.276241-2-clara.kowalsky@siemens.com> In-Reply-To: <20261026101018.276241-1-clara.kowalsky@siemens.com> References: <20261026101018.276241-1-clara.kowalsky@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1047747:519-21489:flowmailer X-Original-Sender: clara.kowalsky@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=HXAHBTmO; spf=pass (google.com: domain of fm-1047747-20261026101026c2074daf4b0002072f-bbr3ke@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101026c2074daf4b0002072f-BbR3ke@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Clara Kowalsky Reply-To: Clara Kowalsky Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= rootfs_add_files uses host sudo to create directories and files. In unshare mode, package installation runs as root in a user namespace, where host-root ownership may not map to namespace root. Dpkg can then fail to replace a rootfs file with: Unable to create `.dpkg-new`: Permission denied. Use RUN_PRIVILEGED_CMD for rootfs operations and disable ownership preservation when copying files in unshare mode. Fixes: 4fedb1ae6f90 ("add support for fully rootless builds") Signed-off-by: Clara Kowalsky --- meta/classes-recipe/rootfs-add-files.bbclass | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/meta/classes-recipe/rootfs-add-files.bbclass b/meta/classes-recipe/rootfs-add-files.bbclass index d33752f3..b093a3ce 100644 --- a/meta/classes-recipe/rootfs-add-files.bbclass +++ b/meta/classes-recipe/rootfs-add-files.bbclass @@ -16,6 +16,11 @@ ROOTFS_ADDITIONAL_FILES ??= "" python rootfs_add_files() { + cmd = d.getVar('RUN_PRIVILEGED_CMD') + copy_args = '-a' + if d.getVar('ISAR_CHROOT_MODE') == 'unshare': + copy_args += ' --no-preserve=ownership' + postprocess_additional_files = d.getVar('ROOTFS_ADDITIONAL_FILES').split() rootfsdir = d.getVar("ROOTFSDIR") @@ -24,18 +29,18 @@ python rootfs_add_files() { destination = d.getVarFlag(additional_file_entry, "destination") or "" source = d.getVarFlag(additional_file_entry, "source") or "" if os.path.exists(f"{rootfsdir}/{destination}"): - bb.process.run(["/usr/bin/rm", "-f", f"{rootfsdir}/{destination}"]) + bb.process.run(f"{cmd} /usr/bin/rm -f {rootfsdir}/{destination}") dest_dir = os.path.dirname(destination) - bb.process.run(["sudo", "-E", "/usr/bin/mkdir", "-p", f"{rootfsdir}/{dest_dir}" ]) + bb.process.run(f"{cmd} /usr/bin/mkdir -p {rootfsdir}/{dest_dir}") # empty source creates only an empty destination file if not source: - bb.process.run(["sudo", "-E", "/usr/bin/touch", f"{rootfsdir}/{destination}" ]) + bb.process.run(f"{cmd} /usr/bin/touch {rootfsdir}/{destination}") return if not os.path.exists(f"{source}"): bb.error(f"{source} does not exists and cannot be copied to the rootfs!") # no recursive copy only single files - bb.process.run(["sudo", "-E", "/usr/bin/cp", "-a", f"{source}", f"{rootfsdir}/{destination}" ]) + bb.process.run(f"{cmd} /usr/bin/cp {copy_args} {source} {rootfsdir}/{destination}") } ROOTFS_INSTALL_COMMAND += "rootfs_add_files" From patchwork Mon Oct 26 10:10:17 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clara Kowalsky X-Patchwork-Id: 5562 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 26 Oct 2026 11:10:41 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-yx1-f63.google.com (mail-yx1-f63.google.com [74.125.224.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 69QAAdEB009539 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 26 Oct 2026 11:10:40 +0100 Received: by mail-yx1-f63.google.com with SMTP id 956f58d0204a3-67532014b2fsf4797557d50.2 for ; Mon, 26 Oct 2026 03:10:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793009434; cv=pass; d=google.com; s=arc-20260327; b=srMuy1US2UR+KQiKLZvIDFVekv1NUJodOqhHblL/SGyTtfqYWlABt3GYr5xFUP8UlS lX0lLHaxd7nkbUNGBIimrhU3dWXLDRmB6fZAWNVN9e74cVYeykCCU7ag406p1MjdF5s9 cwpm1FAojN60QVVUBrlVroyQd5SB6hba3UijYs3JGRVIvRT2XI3sJStc2pyYpOqBzgn7 lMQeLQmY8bZk7z1HMPcz0oOMOKkfMFlBjprxhDpNUT0l4BUTO7vLG+kY+QubIMd+tMv9 pwYnv5z0GUD6Z7iDyvAGF5fSfRN5lcZxh3VjaoBaDJ8t/lCXhhX3W0SBHjZ4Qhxt1b8Z FZ7g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=7r5TC2aVcqrtQVUrBMOAFXHna4KuR/5lRQl4IWljn9I=; fh=n+jk2xhU8P97GlYhy1kA3Eyl8bjDeBMY+Cw1On1Bk74=; b=Wwuj7v4J/qiyXmirmSFvF+ntlT3MqvFtrs/QsvRjtRKdndLPndraLRjRCTNZV08YVx S4qVizlUm0DoJGnXOrgSdrzggqXAGmHuPIUEv8gu/kelqSfebpCxn/WoedzdKIqPyxVz 4F7qfyqC/XgpzUVXp4RPVE6mFd7uj2X+4coUairwXJaIYZilC2cL7fxkTU2eJJCn01BT VGeNMTivNgG3zGE6I1MabTBJ2J5FCK9yX93VfWLxDwR+7hk6ta1aQqtO32yT2Y3D1hI0 DzR4SYC6eqxtSIcAHCxnvSXVh1Vn0QyJdwP2oIwEWI4Xx6IY1A/FXl4XaEINz5I8Lli8 +m+A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=b7p7zTVP; spf=pass (google.com: domain of fm-1047747-20261026101029a41eb7050e000207de-u9iz3c@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101029a41eb7050e000207de-u9Iz3c@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1793009434; x=1793614234; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-type:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=7r5TC2aVcqrtQVUrBMOAFXHna4KuR/5lRQl4IWljn9I=; b=yD3gQ+gemfyC2SkBxykBP2uZouBCBF6kN6j892Gm0vvp0sHSd0IxgFNmVoucI9cP2M wvMuClShLU52lqzcw08Ru8urqJOxef58/rnjP5JO4td7HdLW3DhM9QeaPUcad/kTWCkV xzOE4qDHJ7Zelvc/Xspb6wzUEU2qx8lL5wbkNjAD7b/ho0VdZbwQ6DN8RN4OcLD8S9K1 Rwhr++jX1COo1s9cOX+csu5IofUr724c9Lnx4Vec3hEfky+9EZatyxSt8apW3Rartip3 cvwonXVYf2y8qm67JlbUPdLS0qRc0wtQAhrxbCYXHDhjPfRmPGmg0TMckHYiUp94OcAh xbXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793009434; x=1793614234; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:reply-to:x-original-authentication-results :x-original-sender:feedback-id:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to:content-type; bh=7r5TC2aVcqrtQVUrBMOAFXHna4KuR/5lRQl4IWljn9I=; b=UJV+1wQLheXuhrZJMjxWqY6Hm76V8DjubVEqrFN4Xf3PHmBdg50y8b+rXLim8xXzmJ Bu6Z7lGSY8kul/AXqAk6bv/rd5YQr0yesrYnrWIV80iJOB9qGD2ENI+8Q+BSyU35/x39 Io7ljKKC9YPb+FSPGhK/XBkvt28/29jsKBueDit7DLkV3kOYkMLKQpIh6RoqoUqLufwC pzpz2fZ849bPGskfhJiKHPYJzsEUHujBRD9nPo1c+3Vu2vH+9em9J9D8sHbJtBqWKYYz sEOFOzZzaBThw3dBuVDA0bc6o/CXk6t/jSWqSOwe0VhV1S9LyVpO5DLXiNDth2CqFXkO BiHQ== X-Forwarded-Encrypted: i=2; AKwUvBwaBwqvfOZGTJ7aMlv2Qp8HPH73d5JG//KtJRIynIOHjVszwQLNToEGvh/n+VktFNxM65UOOMw=@isar-build.org X-Gm-Message-State: AFq9FYLBwF+gZn09otnTrllvcO8RWuH/niYuBgjGRB4jRAwfgvrOZQ9g /V684mEIITQ2wgUiok/+YfVyubZ3LEfZRzpx6aLEVeKisOjN7uMClsnv X-Received: by 2002:a05:690e:d08:b0:677:e0df:96a4 with SMTP id 956f58d0204a3-67a454b484amr4572709d50.99.1793009434010; Mon, 26 Oct 2026 03:10:34 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLddJkDDZ6wgGAHpjycADVAN1zRi29ZJA9C6x9KDGMDvPng==" Received: by 2002:a05:690e:1c08:b0:679:9f7f:5686 with SMTP id 956f58d0204a3-67a3440213cls684666d50.2.-pod-prod-01-us; Mon, 26 Oct 2026 03:10:33 -0700 (PDT) X-Received: by 2002:a05:690e:bcb:b0:679:bfff:e3be with SMTP id 956f58d0204a3-67a45498497mr4920627d50.95.1793009432592; Mon, 26 Oct 2026 03:10:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793009432; cv=none; d=google.com; s=arc-20260327; b=HTIhH+LlOSZ4zylAO/jwESzDivGFN3jWY0qg+lfFd14M3kBVVbRjaeMWVm54hywNOt qrNa3K7cOd2BzWRheHtX0VLnYqhy/v0xHMo4HKkZzlFOx53FI6xz45lmCwCKJPSxo+y7 vPGvApUdYNjT2rwOnTgtpRiyAJ12QuBbds3hlK8o5BHsB17X/XWbZ6lwNEJQC4fQyXAk 4LKFHbrwGZpZiEWc9wXNyB/vhlydoMDq+Y83ZpHzGXQlQ54j7l24AH/EM0Adhe42AIYE aLW7lLHV97NzZgcBn+LH3ZPvcVrZjytlU1IbPH+RCq3CdSLgNdnX3T+3todEBxTFT/VC 6GgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=HZFFpPGuZU1xjiGKGlvm9bNbj2a5YBmorYOa1f8VP5Y=; fh=SLhQ9z95daToN/NWg2kUHafQqIBVSlBxJ9bhUZMImFA=; b=cCHu528o47l/lQ/qfMuYltAdKyCEtixpHfwV+FFU1efH5FztGJecPpKMWZa+WWXNXe eFr8MMeAevJIIP7DBqlHt2BbaGwyJSwpv4TYhY/LzDhT3rZvB3vSjR4rGap9cJt56VtI t7fQxsZx/u+FIkSvqFErrp5UOrOkCDwRr4ywvxekATInPCNLbWhWguncf/KIBshnZ1mA v5hR8mRX84rUJaBYrAdoRZ13KqJkfpCL1U0Lg5TAfCXTrMHEtMpkA1ZUDlHUXGhimjOi 93ho9bbaom8wxXFF5t1wdXMIaLtt9kk8chqLrPv40vXz+PnfaLyqYw20Mbliiqmb+rTD qO5Q==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=b7p7zTVP; spf=pass (google.com: domain of fm-1047747-20261026101029a41eb7050e000207de-u9iz3c@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101029a41eb7050e000207de-u9Iz3c@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id 956f58d0204a3-67a462569e4si137884d50.13.2026.10.26.03.10.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Oct 2026 03:10:32 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1047747-20261026101029a41eb7050e000207de-u9iz3c@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20261026101029a41eb7050e000207de for ; Mon, 26 Oct 2026 11:10:29 +0100 X-Patchwork-Original-From: "'Clara Kowalsky' via isar-users" From: Clara Kowalsky To: isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com, Clara Kowalsky Subject: [PATCH v2 3/4] testsuite: add installer build test for rootfs-add-files Date: Mon, 26 Oct 2026 11:10:17 +0100 Message-ID: <20261026101018.276241-3-clara.kowalsky@siemens.com> In-Reply-To: <20261026101018.276241-1-clara.kowalsky@siemens.com> References: <20261026101018.276241-1-clara.kowalsky@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1047747:519-21489:flowmailer X-Original-Sender: clara.kowalsky@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=b7p7zTVP; spf=pass (google.com: domain of fm-1047747-20261026101029a41eb7050e000207de-u9iz3c@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1047747-20261026101029a41eb7050e000207de-u9Iz3c@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Clara Kowalsky Reply-To: Clara Kowalsky Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Install a dpkg-raw test package with a file in /install while building the installer image. This executes rootfs_add_files with its destination directory already present. Signed-off-by: Clara Kowalsky --- .../test-rootfs-add-files/test-rootfs-add-files.bb | 9 +++++++++ testsuite/citest.py | 1 + 2 files changed, 10 insertions(+) create mode 100644 meta-test/recipes-app/test-rootfs-add-files/test-rootfs-add-files.bb diff --git a/meta-test/recipes-app/test-rootfs-add-files/test-rootfs-add-files.bb b/meta-test/recipes-app/test-rootfs-add-files/test-rootfs-add-files.bb new file mode 100644 index 00000000..ee013e8f --- /dev/null +++ b/meta-test/recipes-app/test-rootfs-add-files/test-rootfs-add-files.bb @@ -0,0 +1,9 @@ +# Test package using dpkg-raw to install a file into /install. + +inherit dpkg-raw + +do_install[cleandirs] += "${D}/install" + +do_install() { + printf '%s\n' 'test payload' > "${D}/install/test-rootfs-add-files" +} diff --git a/testsuite/citest.py b/testsuite/citest.py index 0cedcc2c..245a4305 100644 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -301,6 +301,7 @@ class InstallerTest(CIBaseTest): installer_device="/dev/sda", lines=[ "BBMULTICONFIG:append = ' qemuamd64-bookworm'", + "IMAGE_INSTALL:append = ' test-rootfs-add-files'", ]) def test_installer_run(self): From patchwork Mon Oct 26 10:10:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clara Kowalsky X-Patchwork-Id: 5563 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 26 Oct 2026 11:10:45 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-pj1-f55.google.com (mail-pj1-f55.google.com [209.85.216.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 69QAAfa7009563 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 26 Oct 2026 11:10:42 +0100 Received: by mail-pj1-f55.google.com with SMTP id 98e67ed59e1d1-3abb4c24125sf2695573a91.3 for ; Mon, 26 Oct 2026 03:10:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793009435; cv=pass; d=google.com; s=arc-20260327; b=ikLVaspZ6+5wt21lYkCXSa9jwcskSh2yZzlDlCHe7Ot2ZZmjwnxvF3BTTgXirmjj8W gkDyYaWQz2TOYYUTdq2jpXFV+Lg9BKedb+m4lOk/0Ihq55dgVr1b2QWQCLYSS/n3aXmi /zh5q3mRDAeiNCkgJPp0TTK/7CN12CRWb2arao1fldJcrlR6sd2KMCrpXtd8IhaqbVm/ +TXJTYrhHv71rCnAyyTNb4bkuZXArGEsHrgLK5fyvJeTsOLhgnkEl9/J9e141WJndGqe lTp6pxXJHtfmYgGL/zATp16AgFzJifDMjnnURA5Ujbyb8LU4SaJJcgjIoAXBnLCnHZeH ClPQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=shbMxJWaw84N1kOXufxieFDOkoHMmkBtFYcmLxbUqKQ=; fh=nnglbhG1137+op4kYEMeLTOrOA7eOcQUoNfubueSGXM=; b=a1zKFsoTVcUTRoItIKaOs+A60JXaXb2W6YPYMM3yizXqQS98pSEyrC88bRHNlmVAXy vbqYRV/JuC2HKCEP1ogPmIgOH895zbO6QMWxjV3Z/pTFcfcLxXcmI9MiwW90Wdyw43ft CkagrK3S/ASPuWIiicLiRW9ZDxXWzJERCB7j/gYx2Cye/uPmXmnXRf/t9DCUbJPYU7YU gOkFlP+mDbtXv7hXMTEI521tC3gWDM3LVLsDRRwnyXtXMgukx2E40GJ1LVjlIQpXwPun u02YDGJ84ZNNcLRR4/blm/EkVf0w8JBduCKI5CFehCtNHkPFN1w9fQ9GJjjPh/mAM7/P rtMQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=YItARXID; spf=pass (google.com: domain of fm-1047747-20261026101031e6af87662700020728-mmydog@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-1047747-20261026101031e6af87662700020728-mmYdoG@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1793009435; x=1793614235; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-type:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=shbMxJWaw84N1kOXufxieFDOkoHMmkBtFYcmLxbUqKQ=; b=DlgOv8+ys7Sm8L8+NACSez5DJRWcOVHJ+c9m4LFJWuJovnN44IGFEB6iMQVWVbpdAP siqHWuY0mawcrnz4kElmFMl+PJBWIyLTHnDHI6pYbscm0dql7l90i4WbIS9s2E0V0x6V xqfZ+7p4b3xv7fIeodZsr7AKQwFCNGdxnD9QXak/c+f0pTIDwFirRPat7Gmo+pDruuix CVkbp89pwYmvjaI81jfsSP5WBfdUk5csOWUPNUMdhcvJesHvbdcY0wGA/JzjzDGlzmg3 /MjVm5/In9eQyX0YqPKxBHOFe3yQXUbkH8P6JulAjHuCdrifXZDIFY49Izh3+hrpCuDq nRUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793009435; x=1793614235; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:reply-to:x-original-authentication-results :x-original-sender:feedback-id:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to:content-type; bh=shbMxJWaw84N1kOXufxieFDOkoHMmkBtFYcmLxbUqKQ=; b=gKxooS7K6w5dPAVg8dTAgfVYE32OVeFZRnIElAdPHrjC9zB7nA1cNwsEnYjfWE9z4u 78T3+HOfwu4zwFUeNq0nwLa92PgZ8P6eQNZgQRnyvZLaShBMMhdZbC5mIW7OtnIOaxeT jAmplP5ED6WSqYqNHYirGeweXS6mYX3De07+DPd3PGOphycqF8OCMaJcwzaRhZWTBwa1 fIgtv1pbGbSM+DEhbyKpsk7EaznNf/qKgOwjSrhEuUcMHBSWGOqhx2Zjs7DW9kEOgAet N5DuFA7p1/qt6MG+9OTDkE6IyGS97NeWsFy8tAmpYtk+G1B3APB9QnUzZUk7fJj+BZuE ndIQ== X-Forwarded-Encrypted: i=2; AKwUvBxbVUTACcZrhL3/A2/Sr9h0dbjl371Xnzlnmc4QE2scTdCtqpNjFIICb/v2kekLy6FTdXAtptQ=@isar-build.org X-Gm-Message-State: AFq9FYIxaD1ZlDjDVMgUXhexDlneLJD5hu6786ObAeSgtTb5v+1ujAst rBS/5Z8ev6qpm42o/Euv0iIA7PS2fTw3zqGAAf4q4aF5hlPut/gREIdL X-Received: by 2002:a17:90a:e18c:b0:3ad:3e8:12 with SMTP id 98e67ed59e1d1-3adeb126491mr4430219a91.48.1793009435354; Mon, 26 Oct 2026 03:10:35 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdd3Eq86b6Uuh4C+oKh740af5tyhYqnKaXMXbckxF8r1mw==" Received: by 2002:a17:90b:1642:b0:3a4:bd4e:6d14 with SMTP id 98e67ed59e1d1-3adc9dc1a95ls3694292a91.1.-pod-prod-02-us; Mon, 26 Oct 2026 03:10:34 -0700 (PDT) X-Received: by 2002:a17:90b:5210:b0:3ab:5832:72af with SMTP id 98e67ed59e1d1-3adeafae0f2mr4534000a91.32.1793009434396; Mon, 26 Oct 2026 03:10:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793009434; cv=none; d=google.com; s=arc-20260327; b=V1LKB50n030jaevA1ormR6krs7gfKibFGYMmbItNoqcAfNVya2jqsdDTusgkVL5Fxw 4GqGsRrttnKvkxPIIzZ96+a+7S10fevcd6xQvvnRp35I/gwLkSsuguRmJJs25FB2fcus M8zqkrgjcwsHGkLQOSJEX6BQSIp2rTUOsxISO66gs1qprWyuumaREAt3GY9hssEdQIp4 OEjxyej4t7Aw7G60InODQ0LUKltnWteP5NibIaPsabHr/8WQykICR428Hvz3Bqx8KneN ufnkBS6OxrMofvNUKKnBcs4saPKbK4PtHHRcGz9ieP6xAHjSget20voISiow0MLOS9hr 4L3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=p6QgLgNHjy7UkrNO+O5FW4tQ1DZveAoJU8lkl4qjsYQ=; fh=SLhQ9z95daToN/NWg2kUHafQqIBVSlBxJ9bhUZMImFA=; b=AwTXsMSrRfdtnmBgiClfXgIIvg5IKCZsOGzcPFlU34YEjD9VxVzv9lddhZ9wk6XM8Z Y9s+XSzT/LFaAtXZUn1th8L8ERn+JcBdo/spJzi27wbNybyAKunGn8rTWm/3NUrZ/o8I GbuGTzj+VdgsjI3d1F7JWLdu6iZp8TX9EZpCFoPWJGkYveVgPrdKNHUY9bgSIEbA5eU+ oQBbIX9G2ZLy2LjAvbwZ/0ZlbZD/U63HIiC/VuJRsOyMp60+F1SU9adTU+wqoaC/oMP0 ew7Fh0Exqm/2a7f0juQHURjUGa8gUFFQcv/wEGO7L7RhlL2DAZ27jVjU5a25YPd7ywUU muEQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=YItARXID; spf=pass (google.com: domain of fm-1047747-20261026101031e6af87662700020728-mmydog@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-1047747-20261026101031e6af87662700020728-mmYdoG@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net. [185.136.65.227]) by gmr-mx.google.com with ESMTPS id 41be03b00d2f7-cd8ccc1732esi132895a12.3.2026.10.26.03.10.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Oct 2026 03:10:34 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1047747-20261026101031e6af87662700020728-mmydog@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) client-ip=185.136.65.227; Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20261026101031e6af87662700020728 for ; Mon, 26 Oct 2026 11:10:31 +0100 X-Patchwork-Original-From: "'Clara Kowalsky' via isar-users" From: Clara Kowalsky To: isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com, Clara Kowalsky Subject: [PATCH v2 4/4] testsuite: add rootfs-add-files unittest Date: Mon, 26 Oct 2026 11:10:18 +0100 Message-ID: <20261026101018.276241-4-clara.kowalsky@siemens.com> In-Reply-To: <20261026101018.276241-1-clara.kowalsky@siemens.com> References: <20261026101018.276241-1-clara.kowalsky@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1047747:519-21489:flowmailer X-Original-Sender: clara.kowalsky@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=YItARXID; spf=pass (google.com: domain of fm-1047747-20261026101031e6af87662700020728-mmydog@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-1047747-20261026101031e6af87662700020728-mmYdoG@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Clara Kowalsky Reply-To: Clara Kowalsky Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Run rootfs_add_files and verify the removal command targets ROOTFSDIR before the replacement is copied. Cover schroot and unshare commands, including the unshare ownership. Signed-off-by: Clara Kowalsky --- testsuite/unittests/test_rootfs_add_files.py | 80 ++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 testsuite/unittests/test_rootfs_add_files.py diff --git a/testsuite/unittests/test_rootfs_add_files.py b/testsuite/unittests/test_rootfs_add_files.py new file mode 100644 index 00000000..1ef7c4a8 --- /dev/null +++ b/testsuite/unittests/test_rootfs_add_files.py @@ -0,0 +1,80 @@ +# This software is a part of Isar. +# Copyright (C) Siemens AG, 2026 +# +# SPDX-License-Identifier: MIT + +from rootfs import TemporaryRootfs + +import os +import sys +import unittest +from unittest.mock import patch +from typing import Tuple + +sys.path.append(os.path.join(os.path.dirname(__file__), '../../bitbake/lib')) + +from bb import process +from bb.build import exec_func +from bb.data_smart import DataSmart +from bb.data import init +from bb.parse import handle + +file_name = 'meta/classes-recipe/rootfs-add-files.bbclass' + + +class TestRootfsAddFiles(unittest.TestCase): + def assert_remove_targets_rootfs(self, run_mock, rootfs_file): + command = run_mock.call_args_list[0].args[0] + if isinstance(command, str): + command = command.split() + self.assertEqual( + command[-3:], ['/usr/bin/rm', '-f', rootfs_file], + 'Expected the existing destination to be removed from ROOTFSDIR.', + ) + + def setup(self, chroot_mode: str, + destination: str = 'install/payload' + ) -> Tuple[DataSmart, TemporaryRootfs]: + rootfs = TemporaryRootfs() + rootfs.create_file('/source', 'payload') + rootfs.create_file('/install/payload', 'old payload') + + d = handle( + os.path.join(os.path.dirname(__file__), '../..', file_name), + init(), + ) + d.setVar('T', f'{rootfs.path()}/temp') + d.setVar('ROOTFSDIR', rootfs.path()) + d.setVar('ROOTFS_ADDITIONAL_FILES', 'payload') + d.setVar('RUN_PRIVILEGED_CMD', 'unshare --mount --user' + if chroot_mode == 'unshare' else 'sudo -E') + d.setVar('ISAR_CHROOT_MODE', chroot_mode) + d.setVarFlag('ROOTFS_ADDITIONAL_FILE_payload', 'source', + f'{rootfs.path()}/source') + d.setVarFlag('ROOTFS_ADDITIONAL_FILE_payload', 'destination', + destination) + return (d, rootfs) + + def test_replace_existing_file(self): + for destination in ('install/payload', '/install/payload'): + with self.subTest(destination=destination): + d, rootfs = self.setup('schroot', destination) + rootfs_file = f'{rootfs.path()}/{destination}' + + with patch.object(process, 'run') as run_mock: + exec_func('rootfs_add_files', d) + + self.assert_remove_targets_rootfs(run_mock, rootfs_file) + + def test_replace_existing_file_unshare(self): + d, rootfs = self.setup('unshare') + rootfs_file = f'{rootfs.path()}/install/payload' + + with patch.object(process, 'run') as run_mock: + exec_func('rootfs_add_files', d) + + self.assert_remove_targets_rootfs(run_mock, rootfs_file) + + +if __name__ == '__main__': + unittest.main()