From patchwork Tue Jun 9 08:44:20 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 5117 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 09 Jun 2026 10:44:40 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f59.google.com (mail-wm1-f59.google.com [209.85.128.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 6598idBC003598 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 9 Jun 2026 10:44:39 +0200 Received: by mail-wm1-f59.google.com with SMTP id 5b1f17b1804b1-490b9318944sf36879625e9.1 for ; Tue, 09 Jun 2026 01:44:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1780994674; cv=pass; d=google.com; s=arc-20240605; b=N/O5I+KNyfA2vX/gdng5gtuZhRndgT0oItWiJnJufvNWJLOIlTNyOWiOANDXSZXu53 uq39ekdNNfsWpG3bGLAb8ISNsx9eHQV4tHXH6x7xPWScPycDN1FpRb4YVoTpdEzrMi8p +dT7FY2TevIG3rL8C48vvtHWzIDTHv26gR2cFKK0tb7Kxydrq6cy7b55PVz8oJTDeaes ePMaApzT0yNG2v0eAE63J0zA6WPKjNnkyikiCAXZbR99xSxi3FssAsNllw3ExJ+P2oll KbgBjEYAvucoVLYg/7rbSmwbHnsd2jBPWCIbSDH1i/nIsmuzCl83+dGJfJ+EUI0bEO+D Urtg== 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=Iv7MHXBxSaPyHFf9z4wmqzX15D8hv5O4HmXLJ1I4H9o=; fh=7uGhWraRmCemz55+jNEhtTIFygPz163CUMJZRBebSRs=; b=cuqiAGufZznZKwCCzMjf6gjFscXtPDZrH1+Ssa4KKSVPi+6aQ63wlgvgTwDkpfHI2D wLl3cKq4onc+cbVS6V/aaLFfbC5lqy2IGoUyz04YTayrpuuNikjDkWNZfSSXbYJEmcRP dKfN72W6uNhK1JjAwMOGmTKKgyOMI83Xl5lSHnWr5Z+GJxz3pKbc65aWv2yaKrTA0nU2 Cb0f8csCDiH/k2jP1aOff6b6HCAOdfeU0wxEgXFkLYdyaoS5SO62AlEZNgy1X/e5t+rD zBqNE3tw3oQeth4QDxNwx7MWG/W0Fg1vTFf4JsClwsCtAsnz6jBzFAtxUW5xWI5L+/Ni QWTQ==; 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=20251104; t=1780994674; x=1781599474; 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=Iv7MHXBxSaPyHFf9z4wmqzX15D8hv5O4HmXLJ1I4H9o=; b=c5C+c+BSXnV78eY0DGpS9ddkW8vSZSJG4L9FDf0Vm5QdBU3wtBhZ0QG+Bd/o5TGsn6 HJfdDkk0qR6uBfSmXEeLoAL6pMeRcGXEaRgu3ySKoB+i7I7HJWmEBnBwSgEceqhcRc+Y QvE+3k+F9uU/ytGr4hxl5ST6e9XEwdRpv4P6G+4nK4s0NlL/2HOhs7fHgV4yBG3Fcpqf BDc5a4f4PbBCrwNLq36ym3XZi+0HbAPKpL8FBilyZ5fNsNLEV5nKNtX/W5xpG2oHpJeK RJFU/Me5ctrAmGzAzcsIaJTzR+pR4lVfA7I0txQv2vaJ/waIYm/XgN6AsV+TWCWwIwY7 tIPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780994674; x=1781599474; 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=Iv7MHXBxSaPyHFf9z4wmqzX15D8hv5O4HmXLJ1I4H9o=; b=Bv2uSx/AYNzTFWiauI4kMFhc2zA1tr7Cb7HJUto2VrzSQKknvV4qb3UBu2mAxF0EFm 4HaFpKY0wSpFZ6u22adL3vOXVeljs+MkZsRhGUWVpvo0/NaR/Vs6AWblsJRdRrBbOIm3 upyxchjdAIC3oJw+uHnZn+rmkiBKt7cZoNKLlNdr6vbjxEhmUjuwjj4yQtfTZo2+6a7X PteOXUiUmvsx80h7T5pLl5UG91QwdQdsubGZ1UKjCZd/1BgkNOUic7RQE5GEN5thMbdv LUx8uzTqi8uKIKxo/cessmTpf+n7FFa8S3G7UbhiTpsfWqw9wkQRXu+XIyyGe0H6TuA/ kijw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AFNElJ8jJX7twkVmxvwQLx9y0Os5ukXxgp8yWYdypypiYeaq6eKh7DbPsqix6AcoibEKEVmEqi9/ri4=@isar-build.org X-Gm-Message-State: AOJu0YydW8WOUf0WJ5wYCblMTpHXSDPUWO40g+yFO0p4wBtWh7xNz3BH czQdoxtr73Np3hM2630uG3ZoKD1+8qFps8HOMb5M7Jhf0SAWQxOVWndB X-Received: by 2002:a05:600c:3146:b0:490:9df1:f0d5 with SMTP id 5b1f17b1804b1-490d72345dbmr19284775e9.28.1780994673965; Tue, 09 Jun 2026 01:44:33 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUf9aPX5NhpFWvQV4NoOTyngBY4fvrrzVoL8IYdSQ/N8kQ==" Received: by 2002:a05:600c:3b8f:b0:48f:dc6e:7294 with SMTP id 5b1f17b1804b1-490bc91eb4fls54600855e9.0.-pod-prod-01-eu; Tue, 09 Jun 2026 01:44:32 -0700 (PDT) X-Received: by 2002:a05:600c:620b:b0:490:b9c3:6c48 with SMTP id 5b1f17b1804b1-490d7234fffmr18474485e9.29.1780994672091; Tue, 09 Jun 2026 01:44:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780994672; cv=none; d=google.com; s=arc-20240605; b=PpasLIwi0halDUMu9B0gLKQr22BulCsX5GXIj/aWw5nCTRAhgpWBWe72t4w/x9TtQN E40tj7pU/JoLIU7l0kankBN4XI9Xi/qKr/T5O5iXJIlNuVVQSiqAp7FgeqQHqIPM5fNC w6+GjyPJM82zCI+ISdmP3pP0cFAJkv650hGr2xL7EDZgFuOBOsznJAxrRPnQEFt1w+PR 48BB3G4a+s98WmxQgOhAReldaZf3WH6pMkf/ZDFjw4GqPOWfNh/m/4dsROVWMaZ3BSk4 9cxfPZT98DpoQymzdmmNAaaxJqkpXrm/8w/9TPs1eFUE/f8fxzLNKNeSpCUJl0mA2xUS uwCQ== 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=oeuCOTpzQuFv2lx+sJFftN7CfwJlZnopp9sbxbJ8DCg=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=XlbRhwwDeiiAqo7lZkWsdPjW2Q2R4ZOCNM/TfPltmJtvNW/Ow1pxkdGnca9a+Abv3C wt4qTnymeZ1MEUQ7NTcUaPtjczlKRZEAoIDMWQ03/C4RmxNBTd7QOY7y+keFO5B6f1qb ZfEyL8EJvQa6uJj0FxFWnYsPK3JDAARgLS4y++OORY1O5xw1S6t7yUh89ZCrMuKCE4vC N0/dIXwbBZUcSgv/djXcUcanXXY8seng6hioWnJLYwMFMWz8WawoSKSr38MPEgHeXMmo /SvbPdn68UMZ9WkWXMJQdWMYg0zQLBhEg5cSV+HJ/i2v2OgWW8+Sp/36BO3d/BQ2K0f1 7YXw==; 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 5b1f17b1804b1-490c2d39ee1si1219515e9.1.2026.06.09.01.44.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 09 Jun 2026 01:44:32 -0700 (PDT) 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 6598iTgH003564 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 9 Jun 2026 10:44:31 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v11 1/3] meta: Fix do_copy_boot_files error for different distros of same machine Date: Tue, 9 Jun 2026 11:44:20 +0300 Message-Id: <20260609084422.3948645-2-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260609084422.3948645-1-amikan@ilbers.de> References: <20260609084422.3948645-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?= 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-dependent deploy directory as a fix. 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 | 2 +- meta/conf/bitbake.conf | 2 +- testsuite/citest.py | 12 +++++------- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 5d2514c0..a6ded089 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1087,3 +1087,18 @@ and `arch=all` binary packages). Recipes for such mixed packages should append `PROVIDES="foo-doc-archall"` for an `arch=all` binary package `foo-doc`). Consumers can then simply reference the package by its original name (e.g., `foo-doc`). + +### Change DEPLOY_DIR_IMAGE path + +Change DEPLOY_DIR_IMAGE from ${DEPLOY_DIR}/images/${MACHINE} to +${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}. 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..22c23879 100644 --- a/meta-isar/classes-recipe/installer-add-rootfs.bbclass +++ b/meta-isar/classes-recipe/installer-add-rootfs.bbclass @@ -13,7 +13,7 @@ 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_DEPLOY_DIR_IMAGE ??= "${DEPLOY_DIR}/images/${INSTALLER_TARGET_MACHINE}-${INSTALLER_TARGET_DISTRO}" 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 6db10eb3..8134c10c 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}" 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 250c01c6..7d666880 100644 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -522,8 +522,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' @@ -555,7 +556,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 @@ -725,10 +726,7 @@ class DtbDeployTest(CIBaseTest): self.init() self.move_in_build_dir('tmp', 'tmp_before_dtbdeploy') - try: - self.perform_build_test(targets, image_install='') - except exceptions.TestFail: - self.cancel('KFAIL') + self.perform_build_test(targets, image_install='') def test_dtb_deploy_images(self): """ From patchwork Tue Jun 9 08:44:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 5119 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 09 Jun 2026 10:44:43 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f58.google.com (mail-lf1-f58.google.com [209.85.167.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 6598igRP003626 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 9 Jun 2026 10:44:42 +0200 Received: by mail-lf1-f58.google.com with SMTP id 2adb3069b0e04-5aa4736976dsf3671116e87.1 for ; Tue, 09 Jun 2026 01:44:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1780994676; cv=pass; d=google.com; s=arc-20240605; b=PAjHNNwbezyWfcCBSrRkJeIPOGZarfD3RrCvs8QvVT1jQkwOiVjKOGZchqqO+Ci9aR gS6UKx3Tov+/k6W9jKYubVuMWlkmadur9YxBP1ST3QXRNkoVL0ZXD7m0/OMOZ7OoIRxF zw5UhGzfhnl6sIdYNsVTl+M4Sz7HJZ4t2IvXnvzj0RcIRscY/wZAusoHzky8c8HRqAQD xe5NRo06wXaPfnmY7GBSTuyDUWsGqiZlu6bWlaIa4WTL1ehdGb+BLdsEWqKxsUiRp07F VpDhT73HtJ1EKLkWz/pOpGQMdbN+ydAKk/ll/w9sQdfKEZqZL94OIJSNPvtVFv6Qd6ng /LlQ== 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=Jk7mSVibYkyrnneM7Zaa70mKCJzr6wTgdDL7fRALm4Y=; fh=HXVBHRuG9721ER7Vrlf1o7sn9SY/X+WYur4OCALoXd0=; b=RmF0lV+Y80zBCHptwCPM/LkRYnZ4pRrXQp17vCSeKEw8fIAFqpqv0HIWS4tTYDl7sL uNP3j3MAb1gmsY4shYip4AY2nilhM3yHfFlvneh1PNfVtzggVnc/TECHnbCay2OFGqCV dhdQZmg3nrnN3svptEhNMxMIK64NuFomWhrVyxqKcY7q9XCRnnaCmY3MfveZ7kTxaldu mGUjCrruqbCN2hwWZTmPsM0Lb9UpbQAQU4lqdafx470McAnE6FlZsVe1QuYWfcfcbrGp /9SISuXHpWKW5yj8w9v5RaY3YuHGE6MAO6RWv/kFDOj+3RU9wOXHgmPQqmiyUosonn4N HrMQ==; 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=20251104; t=1780994676; x=1781599476; 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=Jk7mSVibYkyrnneM7Zaa70mKCJzr6wTgdDL7fRALm4Y=; b=amuWnpDNCIwyYSL7DQ5F+MaQ2HDN4rYNwfgmePEC7KBTApjOmjYKDN0xa5rbiUb2WV gEnLszqZgJrITpw7C8kf0ZrqYJCHtNDrvvgP1SeVT6QHqDcD8RMi01p+aQg1C4JSvUWr K+Yqi1RUVenv3ea2ldu8wZiGuobT6lmf6eVO891SwUyh2CXi3bcXlK5VkcDeW+4gxoYq HI231eb8aZxX+MA7njv/FleWicT6aZD4Ah6DUbYmki99GC0dmfajja8rFpF3Z9/NJVQS 9Gn5lTvWKM4KZeqQAXnLR78d4veqsnc8ZELYj7U+KSuGoGGalGcg/SIgTufQsiKyCd0O Mu4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780994676; x=1781599476; 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=Jk7mSVibYkyrnneM7Zaa70mKCJzr6wTgdDL7fRALm4Y=; b=lUrCxqa78rk6WX/ZabpV4O25v5707Ufpgos8mjaI7ChnJWx9XEnM4fZNa0liBCEZa2 +gXwQQD3eA2ri8TJ05Rhf53ZLOZWQLMf6iN8dP8yzpxWfU/xbrl728tqni8Lty49oqtQ sqrIOsVZ/YoYsQ2511ydCZ8HoO7tHLmGm7WWDo5VeFfKfZ8ljMUW/R3AjpcD4JJoqC0r GOSOTWmOngEUXbYU85DLVLtrGPf7SHH3ExG54A2zFPoF1NEp5lHd8kZ9TybfhQ/PZg36 eORjMaTyaOxVz3JjwuLmLgLAj3Y93CpZc0tkUrBvlgg2v/BUSsv60l2qfL52vTGzTjhq 2wlg== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AFNElJ+EXBzuCPoXZskIjy3A2GDN+zg93XkvS96RGcS7TW26jksw7OxZNoTz8vYPC10xT24IK2qYHZg=@isar-build.org X-Gm-Message-State: AOJu0YwySt5zAhnvACW2BBboxb50zKduZvJiu+oLCKmLqOePHU5FeyA9 MFBoywrYsUzaF4+EfumwzHZsn2Z5s0D2i+1RdX34cGm0nj/OG7n2dllw X-Received: by 2002:a05:6512:1096:b0:5aa:8823:e30e with SMTP id 2adb3069b0e04-5acf91501afmr387990e87.48.1780994675630; Tue, 09 Jun 2026 01:44:35 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUeUxhnm+3MfaW2BSwIlCc2h0GdHRqZatZri8Pqb1jw4zQ==" Received: by 2002:a05:651c:438a:10b0:38d:daf1:4df6 with SMTP id 38308e7fff4ca-396bc6cc7f7ls10795791fa.2.-pod-prod-01-eu; Tue, 09 Jun 2026 01:44:33 -0700 (PDT) X-Received: by 2002:a05:651c:220e:b0:396:8f6c:770d with SMTP id 38308e7fff4ca-397f76b9626mr4760181fa.4.1780994673455; Tue, 09 Jun 2026 01:44:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780994673; cv=none; d=google.com; s=arc-20240605; b=hF4kA+Xw2sY7+DrqIg0d7434O9ym/L0MjA2e8dHAFNDWBLEoxmue10pQierYImQ+kB DlM4+yYox+CPys7wuJZb617wiORO03Alpu2nLp6ugfLOHCt1zI+H1Z38NnUOk0vaqp5V sQMlqf39eJyVYNphydxMQ1llvI5GMDcqZCTg1OFASYeonDoTRU482qEKpNHDEujKHapb /kTSvQs/Lcpo9K5JU3Jp4CLdVjaRbDEjmnDvNeZN+njCy6i2xmlceHONMRgyU6SQznGr hw34lAfiSQ8+NZTCtZqYERi6d7HXYJTAcRF6fropaDzqVt1M/ki86CVVdVRhHE4m1o7b ItQA== 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=C/hzrCXVmbx9iP1ejM6pq1UDHITyfw/TtVbR10V60U8=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=MOIrGeolwb4fDaBKqufP29soqsI74I2uaATdhHyUcOMfMDBHebRNOwsgfirQGxjfnp cPXlD4S7N4qztBswelf6jbVmxUx/UPW0eOrqLFyRfImiikvmS8ldRdJey24uIXd6sAKx Te+fJMQdG+aLSKNcwiaeIjGhGUUlL9wtR5ss+XmDfkWsSCebwWn5qQbynkwcv/7mo02I Hna2+lzqDVW3BwgE2IABBaTtdfg0RR1u95lDY9xsu0B73pVK9sa3SN78PGqiGm4JGM9b 9n/8Yq3vRFZAIkkpgCH3aOXpRlo2g4vtSsV0XgK4/qIGkYJ0c1ppdkvQzh7BoWSJUGj/ Z1Ew==; 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 38308e7fff4ca-396ac236adesi3631061fa.7.2026.06.09.01.44.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 09 Jun 2026 01:44:33 -0700 (PDT) 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 6598iTgI003564 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 9 Jun 2026 10:44:32 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v11 2/3] meta: Move kernel artifacts deployment from image recipe Date: Tue, 9 Jun 2026 11:44:21 +0300 Message-Id: <20260609084422.3948645-3-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260609084422.3948645-1-amikan@ilbers.de> References: <20260609084422.3948645-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?= Task do_copy_boot_files deploys DTB files into the same location for different images (e.g., isar-image-base and isar-image-ci). This causes a build error. do_copy_boot_files is called once for every image recipe while dtb files belong to the kernel which is the same for both images. Performing dtb deployment once for the same kernel solves the issue. Introduce universal `kernel-deploy` bbclass responsible for extracting the DTBs and kernel from the linux-image package and deploying them. For the distro kernel type its package is now installed into sbuild chroot. After that, deb which contains vmlinu[xz] file is extracted from the apt cache. Fixes test_dtb_deploy_images 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: 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 | 13 ++++++ meta/classes-recipe/image.bbclass | 39 +++++++++-------- meta/classes-recipe/linux-deploy.bbclass | 46 ++++++++++++++++++++ meta/classes-recipe/linux-kernel.bbclass | 3 ++ meta/recipes-kernel/linux/files/getkernel.sh | 40 +++++++++++++++++ meta/recipes-kernel/linux/files/rules.tmpl | 12 +++++ meta/recipes-kernel/linux/linux-distro.bb | 27 ++++++++++++ testsuite/citest.py | 2 - 8 files changed, 161 insertions(+), 21 deletions(-) create mode 100644 meta/classes-recipe/linux-deploy.bbclass create mode 100755 meta/recipes-kernel/linux/files/getkernel.sh create mode 100644 meta/recipes-kernel/linux/files/rules.tmpl diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index a6ded089..ef9dce00 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1102,3 +1102,16 @@ 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. + +### Move kernel and DTBs deployment from image recipe to kernel one + +To prevent parallel conflicting artifacts deployment from the same kernel +used by different images, move original deployment logic from +do_copy_boot_files() task of the image recipe to the kernel recipe. As we have +two types of kernel (distro and self build), both are affected. With this +aproach the deployment of any kernel artifacts will be performed only once per +kernel. + +Also allow using different kernels for one machine and distro without +overwritting by storing kernel artifacts in kernel-{KERNEL_NAME} subdirectory +of DEPLOY_DIR_IMAGE. Previous image linking names are kept by symlinks. diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index 26a4ec06..5f34cd4f 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -1,5 +1,7 @@ # This software is a part of Isar. -# Copyright (C) 2015-2017 ilbers GmbH +# Copyright (C) 2015-2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT # Make workdir and stamps machine-specific without changing common PN target WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}/${PV}-${PR}" @@ -9,7 +11,6 @@ STAMPCLEAN = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}/*-*" # Sstate also needs to be machine-specific SSTATE_MANIFESTS = "${TMPDIR}/sstate-control/${MACHINE}-${DISTRO}-${DISTRO_ARCH}" -SSTATETASKS += "do_copy_boot_files" IMAGE_INSTALL ?= "" IMAGE_FSTYPES ?= "ext4" @@ -381,37 +382,37 @@ INITRD_IMG = "${PP_DEPLOY}/${INITRD_DEPLOY_FILE}" # only one dtb file supported, pick the first DTB_IMG = "${PP_DEPLOY}/${@(d.getVar('DTB_FILES').split() or [''])[0]}" -do_copy_boot_files[cleandirs] += "${DEPLOYDIR}" -do_copy_boot_files[sstate-inputdirs] = "${DEPLOYDIR}" -do_copy_boot_files[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" -do_copy_boot_files[network] = "${TASK_USE_SUDO}" +KERNEL_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}/kernel-${KERNEL_NAME}" +KERNEL_WILDCARD = "${@ 'vmlinu[xz]*' if (p := d.getVar('KERNEL_FILE')) == 'vmlinux' else p+'*'}" + +python() { + if d.getVar('KERNEL_NAME'): + pn = d.getVar('KERNEL_IMAGE_PKG') or '' + task = 'do_deploy_kernel_%s' % (d.getVar('MACHINE').replace('-','_') or '') + d.appendVarFlag("do_copy_boot_files", "depends", f"{pn}:{task}") +} + +# Associate kernel with image by symlinks +do_copy_boot_files[dirs] += "${DEPLOY_DIR_IMAGE}" +do_copy_boot_files[file-checksums] += "${KERNEL_DEPLOY_DIR}/${KERNEL_WILDCARD}:True" do_copy_boot_files() { - kernel="$(realpath -q '${IMAGE_ROOTFS}'/vmlinu[xz])" - if [ ! -f "$kernel" ]; then - kernel="$(realpath -q '${IMAGE_ROOTFS}'/boot/vmlinu[xz])" - fi + kernel="$(realpath -mq '${KERNEL_DEPLOY_DIR}/'${KERNEL_WILDCARD} | head -n1)" if [ -f "$kernel" ]; then - sudo cat "$kernel" > "${DEPLOYDIR}/${KERNEL_IMAGE}" + ln -sfr "$kernel" "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE}" fi for file in ${DTB_FILES}; do - dtb="$(find '${IMAGE_ROOTFS}/usr/lib' -type f \ - -iwholename '*linux-image-*/'${file} | head -1)" + dtb="${KERNEL_DEPLOY_DIR}/$(basename ${file})" if [ -z "$dtb" -o ! -e "$dtb" ]; then die "${file} not found" fi - cp -f "$dtb" "${DEPLOYDIR}/" + ln -sfr "$dtb" "${DEPLOY_DIR_IMAGE}/$(basename $dtb)" done } addtask copy_boot_files before do_rootfs_postprocess after do_rootfs_install -python do_copy_boot_files_setscene () { - sstate_setscene(d) -} -addtask do_copy_boot_files_setscene - python do_image_tools() { """Virtual task""" pass diff --git a/meta/classes-recipe/linux-deploy.bbclass b/meta/classes-recipe/linux-deploy.bbclass new file mode 100644 index 00000000..cb29065d --- /dev/null +++ b/meta/classes-recipe/linux-deploy.bbclass @@ -0,0 +1,46 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +DEPLOYDIR = "${WORKDIR}/deploy_${@ d.getVar('MACHINE').replace('-','_') or ''}" +KERNEL_DEPLOY_TASKNAME ?= "do_deploy_kernel_${@ d.getVar('MACHINE').replace('-','_') or ''}" +SSTATETASKS += "${KERNEL_DEPLOY_TASKNAME}" + +python () { + kernel_name = d.getVar('KERNEL_NAME_PROVIDED') or '' + if "linux-image-"+kernel_name in d.getVar('PROVIDES'): + task = d.getVar('KERNEL_DEPLOY_TASKNAME') + d.setVar(task, d.expand('kernel_deploy')) + d.setVarFlag(task, 'func', '1') + d.setVarFlag(task, 'sstate-inputdirs', d.expand('${DEPLOYDIR}')) + d.setVarFlag(task, 'sstate-outputdirs', d.expand('${KERNEL_DEPLOY_DIR}')) + d.appendVarFlag(task, 'cleandirs', d.expand('${DEPLOYDIR}')) + d.appendVarFlag(task, 'stamp-extra-info', d.expand('${MACHINE}')) + bb.build.addtask(task, 'do_build', 'do_dpkg_build', d) +} + +KERNEL_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}/kernel-${KERNEL_NAME_PROVIDED}" + +KERNEL_LOCATION ?= "./boot" +KERNEL_DEB ?= "linux-image-${KERNEL_NAME_PROVIDED}_${CHANGELOG_V}_${DISTRO_ARCH}.deb" + +# Take care the case when requested kernel format doesn't match distro one +DEPLOY_WILDCARDS = "'${KERNEL_LOCATION}/${@ 'vmlinu[xz]*' if (p := d.getVar('KERNEL_FILE')) == 'vmlinux' else p+'*'}'" +DEPLOY_WILDCARDS += "${@(' '.join("'*%s'" % p for p in (d.getVar('DTB_FILES') or '').split()))}" + +kernel_deploy() { + case "${PROVIDES}" in + *linux-image-${KERNEL_NAME_PROVIDED}*) + dpkg --fsys-tarfile ${WORKDIR}/${KERNEL_DEB} | \ + tar xvf - -C "${DEPLOYDIR}" \ + --transform='s|^.*/||' \ + --wildcards ${DEPLOY_WILDCARDS} + ;; + esac +} + +python do_copy_boot_files_setscene () { + sstate_setscene(d) +} +addtask do_copy_boot_files_setscene diff --git a/meta/classes-recipe/linux-kernel.bbclass b/meta/classes-recipe/linux-kernel.bbclass index e4ae356d..32d10f68 100644 --- a/meta/classes-recipe/linux-kernel.bbclass +++ b/meta/classes-recipe/linux-kernel.bbclass @@ -3,6 +3,7 @@ # This software is a part of Isar. # Copyright (c) Siemens AG, 2022 # Copyright (c) Mentor Graphics, a Siemens business, 2022 +# Copyright (C) 2022-2026 ilbers GmbH # # SPDX-License-Identifier: MIT @@ -337,3 +338,5 @@ do_dpkg_source:prepend() { dpkg_configure_kernel get_localversion_auto } + +inherit linux-deploy diff --git a/meta/recipes-kernel/linux/files/getkernel.sh b/meta/recipes-kernel/linux/files/getkernel.sh new file mode 100755 index 00000000..7070dbc0 --- /dev/null +++ b/meta/recipes-kernel/linux/files/getkernel.sh @@ -0,0 +1,40 @@ +#!/bin/bash -e + +deb_cache="/var/cache/apt/archives" + +paths="/vmlinu[xz] /boot/vmlinu[xz]" +if [ -n "$1" ]; then + paths="/$1 /boot/$1 $paths" +fi + +# Lookup for the kernel file +for path in ${paths}; do + kernel="$(realpath -q ${path})" + if [ -f "${kernel}" ]; then + break + fi +done + +# Obtain package name for the kernel file +pkg="$(dpkg -S ${kernel} | cut -d':' -f1)" +if [ -z "${pkg}" ]; then + >&2 echo "No package providing ${kernel} found!" + exit 1 +fi + +# Query for deb filename +deb_name=$(dpkg-query -W -f='${Package}_${Version}_${Architecture}.deb\n' ${pkg}) + +# Take care about special symbols +deb_name="${deb_name//%/%25}" +deb_name="${deb_name//:/%3a}" +deb_name="${deb_name//~/%7e}" + +# Search for deb in cache dir +deb_path="$(find ${deb_cache} -name "${deb_name}" 2>/dev/null | head -n1)" +if [ ! -f "${deb_path}" ]; then + >&2 echo "Package ${deb_name} not found in ${deb_cache}!" + exit 1 +fi + +echo "${deb_path}" diff --git a/meta/recipes-kernel/linux/files/rules.tmpl b/meta/recipes-kernel/linux/files/rules.tmpl new file mode 100644 index 00000000..69d79bb5 --- /dev/null +++ b/meta/recipes-kernel/linux/files/rules.tmpl @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +KERNEL_PATH := $(shell ./debian/getkernel.sh ${KERNEL_FILE}) +DEB_NAME := ${KERNEL_DEB} + +binary: + @[ -z "$(KERNEL_PATH)" ] && { echo "Kernel not found!"; exit 1; } || true + cp "$(KERNEL_PATH)" ../$(DEB_NAME) + echo "$(DEB_NAME) misc optional" > debian/files + +%: + true diff --git a/meta/recipes-kernel/linux/linux-distro.bb b/meta/recipes-kernel/linux/linux-distro.bb index 8fc1bcb7..47fe3fb4 100644 --- a/meta/recipes-kernel/linux/linux-distro.bb +++ b/meta/recipes-kernel/linux/linux-distro.bb @@ -2,6 +2,7 @@ # # This software is a part of Isar. # Copyright (c) Siemens AG, 2018 +# Copyright (C) 2022-2026 ilbers GmbH # # SPDX-License-Identifier: MIT @@ -27,3 +28,29 @@ python() { } inherit multiarch +inherit dpkg +inherit linux-deploy + +# Always use target arch for kernel package lookup +ISAR_CROSS_COMPILE = "0" + +MAINTAINER = "isar-users " + +PN .= "-${KERNEL_NAME}" +KERNEL_NAME_PROVIDED ??= "${KERNEL_NAME}" +DEBIAN_BUILD_DEPENDS ?= "${@d.getVar('KERNEL_IMAGE_PKG') or ('linux-image-' + (d.getVar('KERNEL_NAME') or ''))}" + +FILESPATH:prepend = "${LAYERDIR_core}/recipes-kernel/linux/files:" + +SRC_URI = "file://getkernel.sh \ + file://rules.tmpl" + +TEMPLATE_VARS += "KERNEL_FILE KERNEL_DEB" +TEMPLATE_FILES = "rules.tmpl" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + deb_debianize + cp "${WORKDIR}/getkernel.sh" "${S}/debian/" +} +do_deploy_deb[noexec] = "1" diff --git a/testsuite/citest.py b/testsuite/citest.py index 7d666880..5aa3e799 100644 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -740,8 +740,6 @@ class DtbDeployTest(CIBaseTest): self.init() try: self.perform_build_test(targets, image_install='') - except exceptions.TestFail: - self.cancel('KFAIL') finally: self.move_in_build_dir('tmp', 'tmp_dtbdeploy') From patchwork Tue Jun 9 08:44:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 5118 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 09 Jun 2026 10:44:43 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ej1-f58.google.com (mail-ej1-f58.google.com [209.85.218.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 6598igdv003624 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 9 Jun 2026 10:44:42 +0200 Received: by mail-ej1-f58.google.com with SMTP id a640c23a62f3a-bed2dca324fsf493164266b.3 for ; Tue, 09 Jun 2026 01:44:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1780994676; cv=pass; d=google.com; s=arc-20240605; b=jRg8RYrRHqnkXpKhBPwFGIH0WXB6wHwSfg1mDiNr55qPBwkdMnJlI8Xd1fmLAbhfDW UzjI9yL68JRe8Bx7Vd74xfrGHJouMOA0VxgC+OeLxjFDyslqF74DnfnJVhfj1m4V1sUS nbL6h8uj1wW9c/ElKKHYTxhFzwVTn9VZLL3FlSymVBVJHDyb0MDPyHPCUx4c/e4jV0za c33i2r2q1EPVEaGHaPx9GkgIkhQOha9B/jO8Zrhl0dB9kGR8ynt/w/FKO+nqAZItOOmB cntt66b2tvbzMHXAVFh6Mq0cGDk0g/YHsStb7/lwW2hBxrc7ZX+RP+w4qVIXznRUNYIv scHA== 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=NnMXdkw5GEvQjls5eBkhTwieZ3qi97I5RoeUt0ymDJk=; fh=08I1YcKYkQyVGF6NC5NeLLEZgsfIbQeqKAHmW48fW2Y=; b=j+SDLPFFAxgbodVtMkiBDxnO20Y8HuKOy/z3crTa7KuaBb+g0rJdke9cd4kTh5S29b UffDXX6jvzJg+XavEZ8/RESH6s1EefguQ/bfiKIhSD9GC+okDpk9OeT2HqlXFI6tC38P wywiChmbA1ntiFBS+/Yk82qFjFS0ijrNLW/2f2r7rdKiCp4IutoetL1dQcq6cuONTEzG 0QrT9dy11VvuyXrP9Zo2dFhzWYwNU1P+xUhgaENkZ9J6LDr2cdiGDx6lbrC5bXuVk9Rn jfx/zIBOw24qPb2YiGKCOzIo8kBuG/dSsbDeb7OZeBUwKwSVgAiOd1d5LWU5WhDX8MfU sHWQ==; 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=20251104; t=1780994676; x=1781599476; 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=NnMXdkw5GEvQjls5eBkhTwieZ3qi97I5RoeUt0ymDJk=; b=nQeHBTRjF5ZyuYlz12zIFV9crOyphhHdIAPaEDa1Mt6Y3wIZeQe/QplnDPEjwxEFve /9U1ngQxEBYkBAqfbk2msLgiiwt32TkOL3VO4a3wZ8CaqMDejV9q8+2b7s7p7qjdfJA4 dPlFyNDeLLYSdCRvBNuE5qQB4jpzrhTKKjb4LMYB7fiVUL5owbh6cxxeqrlhB0jfgpW+ Z6plmxgQHyRUJx1nrYNCWgS/GbQR99LHT9hjVpRoE6V7+U2dTgB8rT+qTMfn/qhTZeRj D7CuPLZYomRm2COVDta8aGYTh1tgVnACZ4L9JHre3YjChwaltgLo8qBAdQEABzRpaC+8 FqxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780994676; x=1781599476; 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=NnMXdkw5GEvQjls5eBkhTwieZ3qi97I5RoeUt0ymDJk=; b=EsdQfuLwlS8IaLUchD/MMtX9VBS5OaKlDVHV+dWdhEBXKn3wnd73S/SeC4nvR5RVME MofqphpGENfWWmy5cfdW7zhT/8jBNjC82u5FbIS8DEVeHdyvhK9vnU9Ynv4Isz2cE54r 2XJJu99Xva+vIYWYTO0GbUuBM7W6MFQdckQdvxXd8Q23uAZdBydMxjGF9Ozz6scGr7gw Jozisb8/Gj20Lnv6FEO5GzJFFeO4DIvp1HuF49htSyw4NAryopp2XUBNkXF1Yx2gAhAM 1EEyFtAjVG0Rqrh/2ZOjP8NDCYi6Z4PvmCz7vnxGQkfix2kkiywy/C6BEVnK6lb+ItKf SJuQ== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AFNElJ914jetJDQxHQM3Wkhmc2z1lV35yynB7vBdJ8AqolMwzeIcwRmb2wNMS29EdhDjxSWZqAP8D2E=@isar-build.org X-Gm-Message-State: AOJu0YzSjtlqKWmMMOmh9juj3TuHqqO2m2qu5bp1GJYbRRgmfPB+Svzk du5qZ001KXJvK2d0iytkXGwed/EQpJlQLm7+3N0l26koLlrS/vmxRovi X-Received: by 2002:a17:907:d25:b0:bec:894d:dd45 with SMTP id a640c23a62f3a-bf3737f80d4mr1079913366b.38.1780994675747; Tue, 09 Jun 2026 01:44:35 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUeUDzqMF5/hGas73Xq9KeDdf7Aztvd0UHsw7C11lxkqTw==" Received: by 2002:a05:6402:902:b0:68b:a5d8:d0a3 with SMTP id 4fb4d7f45d1cf-68f0a2fdfbfls5790838a12.1.-pod-prod-06-eu; Tue, 09 Jun 2026 01:44:33 -0700 (PDT) X-Received: by 2002:a17:907:3f07:b0:bdc:ac75:73b9 with SMTP id a640c23a62f3a-bf373a032a0mr1043057566b.43.1780994673742; Tue, 09 Jun 2026 01:44:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780994673; cv=none; d=google.com; s=arc-20240605; b=dXw2R2DqIqFx4yzsk5geobkgnnA2jXx4TFXzhvUDSFLRDiBMJvYajOuUJH7HTsGQV9 FJS81jDFtwDkR5qETmitr+TCAcZED2o8QPugVsa06HjuRLLDwwc3eDlFmGw/x/l3QCUN lQx3Q657ZkkPrRrRdkUpNJxp+wfhCfQdHepe4ENpjI46NOBfHP/TSGDcRiOBh6hGU/3b OzKIqJNm/85l/x1r1muvcnzLtAO3rpemG24XwShy3KezK51Z00UI2ntEGJnwJxjHr9AG RdoIycNmmq/Hc4Cs2whPgOJBW+PG3nnNMsye75AvpmN0Nj+NAFm72HQKLO9JAKtnOlv/ dV5w== 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=18TqTAUBXq5knQ4+cF9awD+8+GchhNQiW9ltdtSRHx0=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=Anhm83NxlXLbyiXaFXchRvL4h8OyHey3cHTfON05731SJUFzRtC693HMBLA0cAfPes ABZjV4pdCcnLJnIRz3tPlx57aEayxDoQeeZKtxvFiD2fyCPIyrJIIpH/eN7L7YOYqpdp 7frgzskgDPdihRZEgDADVZolrWktL3mkDjlhAzjRMpZYV+S+R9Jrh4BphnePWFGtZx5d fByDn6pstTcYpKqb1WK25y7gaguCuEsnhWCt8yAVdEGyu4HPsLGLyN9XDfPITR1aZ7gA 8W2fRBQ4/bDLMFBuH++3P85TUs+27XVS19zklmZK6xVuiiikHhicvi8Hl+mcWLLRfRfK jcXg==; 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 4fb4d7f45d1cf-68e64e2456asi452278a12.2.2026.06.09.01.44.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 09 Jun 2026 01:44:33 -0700 (PDT) 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 6598iTgJ003564 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 9 Jun 2026 10:44:33 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v11 3/3] CI: Check kernel artifacts deployment Date: Tue, 9 Jun 2026 11:44:22 +0300 Message-Id: <20260609084422.3948645-4-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260609084422.3948645-1-amikan@ilbers.de> References: <20260609084422.3948645-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_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-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?= Improve existing deploy testcases to be sure kernel and dtb files are really exist in deploy dir after the building. Signed-off-by: Anton Mikanovich --- testsuite/citest.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/testsuite/citest.py b/testsuite/citest.py index 5aa3e799..662af1de 100644 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -715,6 +715,20 @@ class DtbDeployTest(CIBaseTest): :avocado: tags=dtbdeploy,full """ + def check_kernel_deploy(self, targets): + for t in targets: + dd, kernel_name, dtbs = \ + CIUtils.getVars('DEPLOY_DIR_IMAGE', 'KERNEL_IMAGE', + 'DTB_FILES', target=t) + self.log.info(f"dd={dd}, kernel_name={kernel_name}, dtbs={dtbs}") + kernel_path = f"{dd}/{kernel_name}" + if not os.path.exists(kernel_path): + self.fail(f"Target {t} failed to deploy kernel image!") + for dtb_name in dtbs.split(): + dtb_path = f"{dd}/{dtb_name}" + if not os.path.exists(dtb_path): + self.fail(f"Target {t} failed to deploy {dtb_name}!") + def test_dtb_deploy_distros(self): """ Cover case: Same machine, different distros @@ -727,6 +741,7 @@ class DtbDeployTest(CIBaseTest): self.init() self.move_in_build_dir('tmp', 'tmp_before_dtbdeploy') self.perform_build_test(targets, image_install='') + self.check_kernel_deploy(targets) def test_dtb_deploy_images(self): """ @@ -740,6 +755,7 @@ class DtbDeployTest(CIBaseTest): self.init() try: self.perform_build_test(targets, image_install='') + self.check_kernel_deploy(targets) finally: self.move_in_build_dir('tmp', 'tmp_dtbdeploy')