From patchwork Wed Apr 29 15:38:28 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihang Wei X-Patchwork-Id: 5060 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 29 Apr 2026 17:50:18 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oo1-f64.google.com (mail-oo1-f64.google.com [209.85.161.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 63TFoH3m019014 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 29 Apr 2026 17:50:17 +0200 Received: by mail-oo1-f64.google.com with SMTP id 006d021491bc7-6961bdde2a1sf12138382eaf.2 for ; Wed, 29 Apr 2026 08:50:17 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777477811; cv=pass; d=google.com; s=arc-20240605; b=Qskmug8UqvMku0SsiHzKlbjJzU2RNwX0Sg2ig6YWKF9Fk0+YvMvQHs+gBRfEnZNVBD Rxbio/omCuUuBPYUNnMXfD0Lm89gHkxhRkh96G5NhupNA5YifKctkiGBv5OgHceRG19k EOB2KoTg7VNthiQRO5RlDO2ZDzXeXKV420xv19HFpM66vE52GR3wtCXKLgwa7CVEZvwN f0URGrJSKjjLVu+CQGbXUIJgf/STiplM4wIDWjtCW2jjnshdVamHYSfkW4W5HCu7mY+R XWIgKG7CbzPDAVeqqLDgpMBbQ96h5CbVpGHc/+1FVZC0ukdq+rlX+fMert7bQzTUp9yq Tiyg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=/z1BMFJdtwQpzJbLtAa26gs2KYdE/Wg0Rg4RAReGrVU=; fh=yvdCGaCYgYBS1Wj0PMzNDUJjlKtCLUqFYVubABuGORE=; b=X6q8CZImXWn2eyurPbQ/Nhz948grsAOiFlvfNk+szjddPax3pe5Embne/9ZMRqDCdb qOja55wuJcvm76rtVl+4FMxEVYh9cCkpRPK3CWhCmYpwgNN2ZwxflIOOScyjFaGtfVlj Yu0+zlkOP78eQx4OE17avHYK10cWnL3Y64sHDt2HJCr7R5uCSW8Kcf4IANOjSuUSurEW WZ8XZ2Zs4G5wc2/+we1R6wQtOm441DJjLOiBAIpQ0LvzQTiCna3/YoS/5q1EMu536SKn 2flKUsFAf/g1xf2+2G8YfoklimSQiLAuNA4Te+WKabusVgkp5CwYfDWxP/ESnfhLAEBU uK+A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1777477811; x=1778082611; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=/z1BMFJdtwQpzJbLtAa26gs2KYdE/Wg0Rg4RAReGrVU=; b=XvAuGm64umsUcLYVesRCw2AdnGHc84zNyV5Zid/HvIQDRLnzgzmtq1mpeHuBkdryEo f6jK4tGKsKv0vmuM24szbmLeVB3n8C3vROIeuSmDruZiZn19GFh4jWM7ruvLhm/PJZ8L J7I8gm0DM6ClHv29em+i73KuXim+8BmlgNm8sTqY49OWRd3jiXk+d0FFEnMjXR6R5GaT JdpMoQcNd6JoDS5qcvCjDq8Rj80+p7hZWV4bHM9tsGUkPCibt6bhHddfMViZv60Nbp9T vE4dsNolcXHUCV1HZf+RsCHKXjCFEiBb0BTpD4yYHu01VevykY0vqzNPPA1GTKeb6DXk itGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777477811; x=1778082611; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=/z1BMFJdtwQpzJbLtAa26gs2KYdE/Wg0Rg4RAReGrVU=; b=Y5Z228n/ztNl7pPlrFe/eEIt3BiPE+f3YPHY2j3UZZkBDMaB7hXs+3cAH4ZObZy358 ky7TXS0673jMshDEOfQ6YqWjZ1FRt8owm3a7VhxIb9WV5RxEbD23k/B7MaEt5CXy9EEx WgvAm2dbgfIdFcsveXlAKG4IzT19ycaY3hoMsX+l3golEWXian2T5w8Dig2pZLBlZVla 9ayLftPbwWL84RlAQJEPD+iFOGDwnP8hl8kX7zXuO6ufdrMuYBy75EDIzIkPHeXFV/cD SHtjQFkHNGIiHKwJ8ybAAMj19oQKyqJ74NePTKdLq49Vof8JmCcmJOTFYPtORPSq9bYO 8ohA== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AFNElJ/G+Zz6R9eOSbu88omiEkmMqnI2zrfmwaGL+9z/ChLkuW6Jg9+8Gf2xEprIxXpcDQe6sVZdMdM=@isar-build.org X-Gm-Message-State: AOJu0YznpjG7mz5Y+mLbjFVNdOKazQJwSpMFZ6ZTZCPHTG9NLTUzQzpv LRsh6SUNwcXMCduLJvmgYJhMdiOG87JEYpvF/OaPFm8M/57AeoV9M8xq X-Received: by 2002:a05:6102:504a:b0:610:eb3d:bb2c with SMTP id ada2fe7eead31-62927d3c330mr2974399137.31.1777477114037; Wed, 29 Apr 2026 08:38:34 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AUV6zMMcZMLfQCPp5kZeudjQD7qYqINrPhLqzLyM+kOArZO99A==" Received: by 2002:aa7:df18:0:b0:66b:f0c:4635 with SMTP id 4fb4d7f45d1cf-67271754aedls10455032a12.0.-pod-prod-06-eu; Wed, 29 Apr 2026 08:38:31 -0700 (PDT) X-Received: by 2002:a17:907:7210:b0:ba9:bb46:3449 with SMTP id a640c23a62f3a-bb8018db5bcmr499855466b.8.1777477111151; Wed, 29 Apr 2026 08:38:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777477111; cv=none; d=google.com; s=arc-20240605; b=DkQcqmMZNghyOvRIlsP45Gs9pkPFtVSU3JVyD5GXFkgpNScufWD4FzfknKI8mCnCHB iO1eNakCfqvaIO7gYWU4XFpgyNcLeB8KuhZJ0/oieO8TRZn2TkPohSt0fAS+WlP9Hpeu jELZtJIWXFIPjKn1H8oI3DeaT7c7+4pz2Zvo2zrp701EIAKsm2hBt+ORAojA4YzFhOTi xpIOE1rNcGd/TtcS3LcXQpBIGc9bOxtK1OMmJWEMBVi5ZjhmSIL/FDzjUcx5+xN4MTf9 nsny+bXdfj5VlAUNlE+uEX2fenRkr3oQnt65DAkre/P5ojC8XicjRQB3seFoYQW0uk76 ERKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=dmQXAlUHYZvS6h5JOn59UdQhtUA0xYG+AuSdU3P6pfQ=; fh=SviDX/E5C+CNuLG4aYddj0ECCwgb1wEYINL+8UO5M6M=; b=C7M7oHAFVAcpGP+VyKNCCSHxIo2lA44TYJGkQIzZUlPfi3WvR1ENLV/JsOjCMwWWO8 edqt8H/6Fz2pcq+v/MF/0dqsl6Mwm1bp+MCrpAC+44u0JhxOACZdxSqCB/q6ID0t6TVp LOZt74vgNwb57w5vL9/4xV6/u664/AfTCKrkrJ79YwV1LaGjTq9g6rnYDAHPuRPVJF8s OrStQGxeRydNxsqtA+5JW3URyzkPHyIj75jEFsopqX30r29vd+TGuRCFQVPAJVVJ4K4f mY4t2TzSrhFIiQOtMdjt+TaPLeYzeGUzdsQtr5Xxfs61G9jVP7WHN+ORZ59GjVDzrFd2 r4bQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id a640c23a62f3a-bb980d687ffsi4464466b.1.2026.04.29.08.38.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 29 Apr 2026 08:38:31 -0700 (PDT) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from debian-zwei.m.ilbers.de ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPA id 63TFcUGc018721; Wed, 29 Apr 2026 17:38:30 +0200 From: Zhihang Wei To: isar-users@googlegroups.com Cc: amikan@ilbers.de Subject: [PATCH v10 1/2] meta: Fix do_copy_boot_files error for different distros of same machine Date: Wed, 29 Apr 2026 17:38:28 +0200 Message-Id: <20260429153829.2668049-2-wzh@ilbers.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260429153829.2668049-1-wzh@ilbers.de> References: <20260429153829.2668049-1-wzh@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Anton Mikanovich When building different distros for the same machine (e.g., phyboard-mira-bullseye and phyboard-mira-bookworm), files with the same name (e.g, DTB files) might be deployed to the same location and this causes a build error. Use DISTRO- and KERNEL-dependent deploy directory. Also fix paths in installer and testsuite. Fixes test_dtb_deploy_distros testcase: ERROR: mc:phyboard-mira-bookworm:isar-image-base-1.0-r0 do_copy_boot_files: The recipe isar-image-base is trying to install files into a shared area when those files already exist. Those files and their manifest location are: NOTE: recipe isar-image-base-1.0-r0: task do_copy_boot_files: Failed build/tmp/deploy/images/phyboard-mira/imx6q-phytec-mira-rdk-nand.dtb (not matched to any task) Please verify which recipe should provide the above files. Signed-off-by: Anton Mikanovich --- RECIPE-API-CHANGELOG.md | 15 +++++++++++++++ .../classes-recipe/installer-add-rootfs.bbclass | 4 +++- meta/conf/bitbake.conf | 2 +- testsuite/citest.py | 7 ++++--- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 659a03b0..5723c4c3 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1067,3 +1067,18 @@ Changes in next The DEPLOY_DIR_IMAGE path and artifacts naming changes introduced in 13cb77dd (included in Isar v1.0) have been reverted. Deployment paths and artifact names are the same as pre-v1.0. + +### Change DEPLOY_DIR_IMAGE path + +Change DEPLOY_DIR_IMAGE from ${DEPLOY_DIR}/images/${MACHINE} to +${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}-${KERNEL_NAME}. When building +different distros with the same machine the following error occurs: + +do_copy_boot_files: The recipe isar-image-base is trying to install files +into a shared area when those files already exists. It happens when some +files have the same names (e.g., dtb files) for different distros. + +To prevent this new path is separated also by distro and kernel values. + +This change will influence on build artifacts location and should be taken +into account by downstreams. diff --git a/meta-isar/classes-recipe/installer-add-rootfs.bbclass b/meta-isar/classes-recipe/installer-add-rootfs.bbclass index 111506df..0ecb5cc5 100644 --- a/meta-isar/classes-recipe/installer-add-rootfs.bbclass +++ b/meta-isar/classes-recipe/installer-add-rootfs.bbclass @@ -13,7 +13,9 @@ INSTALLER_TARGET_IMAGES ??= "${INSTALLER_TARGET_IMAGE}" INSTALLER_TARGET_MC ??= "installer-target" INSTALLER_TARGET_DISTRO ??= "${DISTRO}" INSTALLER_TARGET_MACHINE ??= "${MACHINE}" -INSTALLER_TARGET_DEPLOY_DIR_IMAGE ??= "${DEPLOY_DIR}/images/${INSTALLER_TARGET_MACHINE}" +INSTALLER_TARGET_KERNEL_NAME ??= "${KERNEL_NAME}" +INSTALLER_TARGET_DEPLOY_DIR_POSTFIX ??= "${@ ('-'+d.getVar('INSTALLER_TARGET_KERNEL_NAME')) if d.getVar('INSTALLER_TARGET_KERNEL_NAME') else ''}" +INSTALLER_TARGET_DEPLOY_DIR_IMAGE ??= "${DEPLOY_DIR}/images/${INSTALLER_TARGET_MACHINE}-${INSTALLER_TARGET_DISTRO}${INSTALLER_TARGET_DEPLOY_DIR_POSTFIX}" IMAGE_DATA_FILE ??= "${INSTALLER_TARGET_IMAGE}-${INSTALLER_TARGET_DISTRO}-${INSTALLER_TARGET_MACHINE}" IMAGE_DATA_POSTFIX ??= "wic.zst" diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 5c71078d..0089942b 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -57,7 +57,7 @@ WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}" GIT_DL_LINK_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}" DEPLOY_DIR_BOOTSTRAP = "${DEPLOY_DIR}/bootstrap" DEPLOY_DIR_SDKCHROOT = "${DEPLOY_DIR}/sdkchroot" -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}${@ ('-'+d.getVar('KERNEL_NAME')) if d.getVar('KERNEL_NAME') else ''}" DL_DIR ?= "${TOPDIR}/downloads" SSTATE_DIR ?= "${TOPDIR}/sstate-cache" SSTATE_MANIFESTS = "${TMPDIR}/sstate-control/${DISTRO}-${DISTRO_ARCH}" diff --git a/testsuite/citest.py b/testsuite/citest.py index ac45165b..e842b62e 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -498,8 +498,9 @@ class InitRdBaseTest(CIBaseTest): super().init() self.deploy_dir = os.path.join(self.build_dir, 'tmp', 'deploy') - def deploy_dir_image(self, machine): - return os.path.join(self.deploy_dir, 'images', machine) + def deploy_dir_image(self, mc, image): + multiconfig = f"{mc}:{image}" + return CIUtils.getVars('DEPLOY_DIR_IMAGE', target=multiconfig) def dracut_in_image(self, targets): machine = 'qemuamd64' @@ -528,7 +529,7 @@ class InitRdBaseTest(CIBaseTest): bb_should_fail=False): mc = f'mc:{machine}-{distro.removeprefix("debian-")}' initrd_image = f'{initrd}-{distro}-{machine}-initrd.img' - initrd_path = os.path.join(self.deploy_dir_image(machine), initrd_image) + initrd_path = os.path.join(self.deploy_dir_image(mc, initrd), initrd_image) # cleansstate if the initrd image was already built/deployed to verify # that a new build does result in the image being deployed