From patchwork Sun Oct 25 05:09:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gourav Singh X-Patchwork-Id: 5560 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Sun, 25 Oct 2026 06:09:56 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f59.google.com (mail-ed1-f59.google.com [209.85.208.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 69P59t7K001188 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sun, 25 Oct 2026 06:09:55 +0100 Received: by mail-ed1-f59.google.com with SMTP id 4fb4d7f45d1cf-6b1e00100eesf2727541a12.3 for ; Sat, 24 Oct 2026 22:09:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1792904990; cv=pass; d=google.com; s=arc-20260327; b=FaAlR/c8sObu4fqI/giQO8sCKu60UA5mQPjqkNLk7DZw0urpJaI8k5hgIDbu5uxbrt 7sqUmir0ENpXgeDNAKUnouI18y3QCUKxelzKZzAMUR4UIr9QOnQyH9vikqhU/uAFj3qH f98zPAAoSjPV92D6SgW8vMIHbAPqI0wj49bnQFzfP+CzSPGPFVFREGOXeZTk7+kds0g2 w+N/xNfDFnRe6ltXBnZkmYovUPRYQGeiYYNdZA1wtSIbETtV1nfqiLwhn1koMpefcRZs 2r7N8B/f5AUBxtnsljqQLKyznCzvYWQfqQI39RHJtqGXAdM4p9KsPwdd0FgHsPiTd0vy DuXA== 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=WF5aa7znvsWrT0XR9HtmFEqgn/ThtO1dQHcursKU+3I=; fh=qGSmpYKW5ZhfNfrNqe0Q9om1t7wSGJkDgG2F0RgR3vo=; b=MtRA/wHKBNaaf7wcSxM/ROCcLVMrrtkpZ7pTwsGAL+YwCgRvf9WJyADgzulu5oDW42 Fx5dJsGAgd+RquQ1Np3J9ifM7ZzcH9m8LzU1XsIg+Qsghjnyj+0rehzmdQAASr68UDaP XG6X1t6Ay9MObh+/6bTUre7+SaYy60QjzoH+5jNSP+Vo0e50DFM/Qe7H5N7vrg/pYEWp CUsSOIlJGEWcZLNBDOdwOkvoeNz52JA11kpHZMp/KIIBOF30pKdE7iJqxUXaemTVxzg3 lSstB14NYH1ngxWLJpz62MX/00RDhrtyr+Kh3GbLfZN0IGOgfbkuy5S51FXBlvR+UUIU GLXw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=DUf1Kcy0; spf=pass (google.com: domain of fm-1333022-20261025050946431fc101460002072a-vc9nfi@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1333022-20261025050946431fc101460002072a-VC9nFI@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=1792904990; x=1793509790; 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=WF5aa7znvsWrT0XR9HtmFEqgn/ThtO1dQHcursKU+3I=; b=uCvM7H0Q5Qdnv3aACzkOyx8DLoCGx1gjWctw+dfThZPIi78o9lge5oFkgbliU2MZ8F DWoUOl/8OJNWHliBaYxrxWF4wAf2bUOSj0/FmCEujrcrLz8eH4icyAuJtzKOuwvet9tD pd10e1hYfnHPD6NKwhFkoFE+aYdMhTSycmsPh1fXZVCQz/qi3EQ5MqKhQspxMpvIBVon fWRc6+lwIKDUGiURJ3j0XmoxKRcqA1QyjYy5KgCunVX9pQoPUUUIFl1ca/MEW+jHIYeR aKz6AWZY3F+8eXYEiRgvHVODBJV+UnqAR38Ri3gLOQg9/80c9tS17e7NKsyvMPsWIk7V uo2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792904990; x=1793509790; 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=WF5aa7znvsWrT0XR9HtmFEqgn/ThtO1dQHcursKU+3I=; b=EGKmL95CxXtH3hKjvx8fHNjKltytuqJ49SasNNkOo+PHozAP89+TlQvtW+3wxvKoNC SKOMRmhqQNyJi4G4866tvjXLq/9/QYHwtIMytsuCMjaaJCOUxqetDkJgV5ia/e3nZFE/ jc2W3y3/8PLLyTBp2sDNiomRoezGVoSDHRw8U9W78iSNS38XjB9TXrJf8ScEz7MJeUQl FkAFSQvhyb+clXJwJb4aBT6CBufi2quHcEuA2CY8bBlwzem6EMwGdX3qSMWpau7BeMYf ePz+2oG1F4CiVcufcXLQuiFXNWNt5ZECjdpRjsYE94uTh5nGNcx2R2Y3Ryx//ZPuxWvQ fY0w== X-Forwarded-Encrypted: i=2; AKwUvBxM5ll8Kc+ivBP1Ija4hdJ2mKSxtIQ2Qc/5BwH7cyu0AGgelT9qpsV6xHFkSTuzdf143ubKgEo=@isar-build.org X-Gm-Message-State: AFq9FYLA0h8/lHOpPCAKWdm2bP08753Shiw0c7oZQ6ockwqNJSRDpDtw eR40bhIRA+s+l26+1auVkMB13thREJey+FdDAfkP3I8OID60IKGjlE5F X-Received: by 2002:a05:6402:c513:10b0:6b4:20bc:fab with SMTP id 4fb4d7f45d1cf-6b442fd88damr2639082a12.18.1792904989845; Sat, 24 Oct 2026 22:09:49 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdf9PAYsktn6dclWlzOeXQ8GRdglC17F53atOEX/DHjPCw==" Received: by 2002:a05:6402:c511:10b0:6b4:6295:7bc1 with SMTP id 4fb4d7f45d1cf-6b462957f4als52815a12.2.-pod-prod-04-eu; Sat, 24 Oct 2026 22:09:47 -0700 (PDT) X-Received: by 2002:a17:907:9811:b0:c32:1b0d:d774 with SMTP id a640c23a62f3a-c46bdff4139mr356086266b.49.1792904986706; Sat, 24 Oct 2026 22:09:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1792904986; cv=none; d=google.com; s=arc-20260327; b=HSIfc/Aoz42CN1wcKgTRPZ/9SDqUL12E99iJnARj8QxicmA6J85bN05zE0BaIBZGd5 uEQ9yqzU6KFi+Yv9HuRpKljAmG2A9fH4UvtBJNcLbfG/JbH3XXJpQP21NYiw1YI1mNWH EZ4qXaBgVS0ykUs2i3kZrNQyUWkmTTsxg8FhwWcNqoOUxT0IdcePLvhAKEyEZ354/vnB hHSaM6qMKX5x+M1iY7fov8RJLPYZzyp7S4BVuhqG4ZtZhI55lpBDv8yFrVkOoOG0y+Kg NRNfE/1nzQUcP/1yNfy830ZjbLYO/MbjfkvJccFRkExhVm+K4TY/WxLKJZEItyLCud98 Aeqg== 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=tWEvlhOgtXMCg3KEyyKFdPaGE4bllUJ0qIbGRfxWvzo=; fh=gz0ZrJn6x76gX3XefOAliLWTyygDYYdGT/FXhQYr+zo=; b=Vhp+mzsjUGHMKUPb2K43ZVbqXFYiH9F1Ye11dbAovEJUmq0GigAS82CBJBzNvou99S CyWKMjChG5wuFmuUD++keM8w5zN6lDadZEVCqy82uylnBmWVTui4VpccDxFQIMLXXu2i LYkZJXF2bjIiWjNQHl5rSC2cUl3vEBq6gk0OyeEphHYBfzUut0TRxGJufGnYESlSjIPK +Bn1B5SItG0Ojji5SmRr/DBrNwKYm2Lfvh6S47a01D3R9vQzg7LhDohkxNmWATXMIu40 9r6Vsu9+KDcfgEqbbWS1wff04s5s5fIQKe+ZvT7Sq/n2dxc0D6v1uaJdmAY687iXAbmp ISXA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=DUf1Kcy0; spf=pass (google.com: domain of fm-1333022-20261025050946431fc101460002072a-vc9nfi@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1333022-20261025050946431fc101460002072a-VC9nFI@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id a640c23a62f3a-c46bd4da570si4820266b.7.2026.10.24.22.09.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 24 Oct 2026 22:09:46 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1333022-20261025050946431fc101460002072a-vc9nfi@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20261025050946431fc101460002072a for ; Sun, 25 Oct 2026 06:09:46 +0100 X-Patchwork-Original-From: "'Gourav Singh' via isar-users" From: Gourav Singh To: isar-users@googlegroups.com Cc: Gourav Singh Subject: [PATCH] rootfs-add-files: use run_privileged_cmd instead of sudo Date: Sun, 25 Oct 2026 10:39:32 +0530 Message-Id: <20261025050932.69095-1-gouravsingh@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1333022:519-21489:flowmailer X-Original-Sender: gouravsingh@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=DUf1Kcy0; spf=pass (google.com: domain of fm-1333022-20261025050946431fc101460002072a-vc9nfi@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1333022-20261025050946431fc101460002072a-VC9nFI@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Gourav Singh Reply-To: Gourav Singh 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?= rootfs_add_files hard-codes "sudo -E" to create the destination directory and copy the additional files into the rootfs. In rootless (unshare) mode, this leaves e.g. the installer's /install directory owned by the real root, which is not mapped into the user namespace. Subsequent builds then fail in root_cleandirs of do_rootfs_install: rm: cannot remove '.../rootfs/install/.wic.zst': Permission denied Use run_privileged_cmd() instead, so that the files are created with the same privileges as the rest of the rootfs. While at it, also fix the removal of a pre-existing destination file, which ran unprivileged on the host path instead of the path inside the rootfs. Signed-off-by: Gourav Singh --- meta/classes-recipe/rootfs-add-files.bbclass | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/meta/classes-recipe/rootfs-add-files.bbclass b/meta/classes-recipe/rootfs-add-files.bbclass index 38f739ee..d135f6d7 100644 --- a/meta/classes-recipe/rootfs-add-files.bbclass +++ b/meta/classes-recipe/rootfs-add-files.bbclass @@ -18,24 +18,25 @@ ROOTFS_ADDITIONAL_FILES ??= "" python rootfs_add_files() { postprocess_additional_files = d.getVar('ROOTFS_ADDITIONAL_FILES').split() rootfsdir = d.getVar("ROOTFSDIR") + privileged = run_privileged_cmd(d).split() for entry in postprocess_additional_files: additional_file_entry = f"ROOTFS_ADDITIONAL_FILE_{entry}" 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}"]) + if os.path.lexists(f"{rootfsdir}/{destination}"): + bb.process.run(privileged + ["/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}" ]) + bb.process.run(privileged + ["/usr/bin/mkdir", "-p", f"{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(privileged + ["/usr/bin/touch", f"{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(privileged + ["/usr/bin/cp", "-a", f"{source}", f"{rootfsdir}/{destination}" ]) } ROOTFS_INSTALL_COMMAND += "rootfs_add_files"