From patchwork Fri Feb 13 07:40:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 4857 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 13 Feb 2026 08:41:03 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f58.google.com (mail-wm1-f58.google.com [209.85.128.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 61D7f2dR026953 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 13 Feb 2026 08:41:02 +0100 Received: by mail-wm1-f58.google.com with SMTP id 5b1f17b1804b1-4836cf00787sf9468925e9.1 for ; Thu, 12 Feb 2026 23:41:02 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1770968457; cv=pass; d=google.com; s=arc-20240605; b=gxhV7cifZ/aV5fM61yvtoK6Lc7T1uGWmzMJukRnZb5kS9nQ0pTjy0NojqBf7NlTm0K 39xp+FTb0VYSMC7d4MRvruyioReVOSKhSq9JY6qnBRxesMoGOLLAZTwiW3pa5Gi3GT+R kVKR9lauYgHQrYT+YA+jE1vreKyg/fKeTghzWInoGUk3A1mgTL4unFC7OWSb8BmN7nan nH8vqS+Ispoht1nuQY2gqix5WY83k+mFyLek0wUSrNm4Kq2SML23Yd1gFZCG9oWYuYk+ +DXI/eqHF3Ulv/z6gf+rNDhm3NUtGE0JKJ/VyeH5pzd6xGpGuONmIF7/gst0WIF1kMCc f/8g== 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=IHXA3n4tdAgwomFeYQfUYasujdBiXZSheozwsEZ22lM=; fh=2EABN/1ojgLBlWYemPFQxgGmRnPplS4vC0LUDhuOz58=; b=GBLDP7C/cWc8nz/N+zZvSZ/frmhbnc8n5nj94KZ8DjF9ngm2JfebDPv/2zzyj+NhFR 7I/+9BpPbpYl5JXz3U2xRFrlVYH1+d8sGLdqRooBmm8qjnuZEr6qvIFto8RzQi3Dlihr Y4HJb6YfPuxMD8vqvWtjO3RDKaI1u+sbruUBNappMTLRWICe7zNUYxR0c3/5P+LyvZPf dZN5uyh1CHcRO2g8gZ/BZj7hHdOPauC0SifZy2XM39wmvxqeYWoWA4QoHcqtv7YsX+qb xJVAhy/wWYn5MJ9Q3yW4CXjyc80y8gO+WIwHMkopFxJ1EcxGbXVS/I8QQaLWmmdOUR2c 9QkQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1770968457; x=1771573257; 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=IHXA3n4tdAgwomFeYQfUYasujdBiXZSheozwsEZ22lM=; b=HJFKifDEP393HSPqke1sFFCp40supBRSHPhIgCqvfsY1kAhx85iIWXhwzo8AnCEI+T 3C1WTorx2ZLjLkJUC4rbRUw5ERu5UTHTYNRh7AM44Tf0VRJZIkjc64H9JvtCihTQVx4v Ir7etHVCs+8eWyuDFa/k3mcXi0iHe4jb2q5zi5zoTrTTahpgFLcke/Zh9uVcO9U7Y8g3 h6/RQK7I5QmsNWjaSpGqLix98MJmqKr5qy/YiPUuelaWHMiWvhkrF+f5IZOKvEBvW1jB r9/NJgwaRWqw8EVV7jlnPi1gTy9UPOPnZqhxmkIoij5GOKguw6we8RISb7xw4RPTnFtQ +0Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770968457; x=1771573257; 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=IHXA3n4tdAgwomFeYQfUYasujdBiXZSheozwsEZ22lM=; b=iB6WZP/Z+EEcZid9n88KQqgBglf6wQJzneuNlParUnf0n6hJjk5EH+RiFTj5vd9iDy MmjqubN1/BrY4VL5mXpA28y+5GS/uLiq1nyiZmw2JsltbMWKQqixY9vg+7jmmz9HBKKX ysd5QEHAiDB/xOO7sRPeYuKsSnz4D6O/AgN5tv0QM6v6ldD8faZSfmfAB6HDzbq59fHx 1ls+iYN4RcDYuBCm0py5Mwh5H5MUFQ/3Q1N9J+RlKXZcOaVu7xERZXf2CxLuUNnDAbbB N9LZITbxjmHcPqt0FVbw74CcbsK9MDL1R+el0EFUJXyB+yWg7a9LCjIC31QbjtyiidE5 dQUQ== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCUBXF8csU1hlBk0jhVon4QN34y6U2Dr4q3NWY8i2Lt2nEqkdC8/qNRpVgq2a73qtttCzTBoros=@isar-build.org X-Gm-Message-State: AOJu0YwjvOXuWFrucMgbDYbUUgLUuUIhEOTttG7WxYnGdTMuOn/1EO54 w2g/X52KDQFkGEex6mA9SRkFA341yugR5iiZ3Uv3aQ9cerKaLGnW0Lqu X-Received: by 2002:a05:600c:45c4:b0:481:a662:b3f3 with SMTP id 5b1f17b1804b1-48372f22e67mr14385585e9.7.1770968456742; Thu, 12 Feb 2026 23:40:56 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+EVkANvUXGXk7yHi2Ipg4y8nAX6M1hJOkFmrEc9OTzs0A==" Received: by 2002:a05:600c:1d1e:b0:477:9e7d:40a2 with SMTP id 5b1f17b1804b1-483670622bcls6888535e9.0.-pod-prod-00-eu; Thu, 12 Feb 2026 23:40:54 -0800 (PST) X-Received: by 2002:a05:600c:628f:b0:47d:333d:99c with SMTP id 5b1f17b1804b1-48372f7983emr14077005e9.18.1770968454416; Thu, 12 Feb 2026 23:40:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770968454; cv=none; d=google.com; s=arc-20240605; b=RIZ/g1RimsgYtoQUD1zLv9w6joy+dDZk3MihTuCJTVLqHc8+NeMlJOUFaQFeXlXFcx NmlYNyPoI3lf3KOJDBY2UtVGPd0qzRVbHUC+rlJByB3NzQZD4yyzHnOgCfBQodapNkr8 +9MEE/X5mgUazYYo+xfXLi5X7TmjaXOAoxsyzv/4aLSyZO4wnB2IeuPTSBgCG9VVsFob CAwVAjm2h0scA/Wmq06mL1slIrY2YVWv2jJinb/WLgXbFhyseEZvu6S13NkAxzgjiWbq lGqvO6AOic8igRNTg48lM59Cs30cJvkfsZFhpLfkjccYwy5/CQEI5MYhaYhrqV4ZNNop pJ+g== 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=3jECTv+u5E8D4Ld50FEXu5tPuA34Gij612h2hpA9sF4=; fh=TJO83ZPiifPcn/eO1vjaK8KBcIEI9UB4e0WXU1YgcuI=; b=Bb4CmwH3DBlEKT0J7sBStROYNtaOPFqmS6ttf+teHInSHGaz0q93gO8PbG5OaLqzL+ W4diXO5XLUC8vjUdkfmWap6NS8n9t6RsFylVtOWXBUIuA1QL0lP8TaThJ6zRCqsxl5iq 9wSN96SKfKOQbXjAN1UHvf9+/KFoCEJC8qdBy43oBYz8kOz4TX/PEFQRVfN8Uh/eOiNP jwPNEfiDWoq0Syq141iQnU5mKW+RyM80etiEw6+1NwEgFsa2Wa8rKPVZ4/HARRIcw8Vz U/5BAVe8mui4v9l6XnljRlLv3L78kssyJBLyZX32G53GJgluaBkKZsht8ecyunZRwmRs tjcA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-43796acd39esi35222f8f.6.2026.02.12.23.40.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 12 Feb 2026 23:40:54 -0800 (PST) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from user-B660.promwad.corp ([159.148.83.123]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 61D7enLw026889 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 13 Feb 2026 08:40:52 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Ilia Skochilov , Uladzimir Bely , Badrikesh Prusty , Anton Mikanovich Subject: [PATCH v6 3/4] meta: Fix do_copy_boot_files error for different distros of same machine Date: Fri, 13 Feb 2026 09:40:41 +0200 Message-Id: <20260213074042.76277-4-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260213074042.76277-1-amikan@ilbers.de> References: <20260213074042.76277-1-amikan@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: amikan@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@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: Ilia Skochilov 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: Ilia Skochilov Signed-off-by: Uladzimir Bely Signed-off-by: Badrikesh Prusty 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 0bad8a44..6d7f12b2 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -962,3 +962,18 @@ INSTALLER_UNATTENDED_ABORT_ENABLE = "1" # Optional: set countdown timeout in seconds (default 5) INSTALLER_UNATTENDED_ABORT_TIMEOUT = "5" ``` + +### 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 2fa551bd..b79c2357 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 0f84e715..ad3d6b53 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 c521f6fe..072d8e92 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -496,8 +496,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' @@ -526,7 +527,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