From patchwork Fri Jul 3 15:08:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 5213 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 03 Jul 2026 17:08:53 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ej1-f56.google.com (mail-ej1-f56.google.com [209.85.218.56]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 663F8qhU017204 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 3 Jul 2026 17:08:53 +0200 Received: by mail-ej1-f56.google.com with SMTP id a640c23a62f3a-c1212fe7a81sf9947966b.0 for ; Fri, 03 Jul 2026 08:08:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1783091326; cv=pass; d=google.com; s=arc-20260327; b=h6owjpWIiBPQ7Isgv6M5rK/SxcPlzDPrBAyTVbJxzTNVoTj5IUGRkeGFshwJNpL9tx lqptBvpCyj3d3p/EvA3dl2JuXb97xpvyOxd7huctgQ5A5uXqvg1IvJysj3Eo3v0c/lw/ Iubt6lI5tzWYFmt4ktnervOHQ6Oy2n+DocVS93nfB3tz1dXhH1XfJ3q3WYkeOlLqXhmX oa3l40+JeoU8YeU9s3XPjooRjd/ZX35LbVnbOQpWIUXWvgfpLdXjrb8yl5odXlhNht4i yAQktbyiLC89ql/c1xGJGwZdVCR7fdcheoY8J/2c8jU/Zac5v8VrbUpBlBppO/En3soi 7Skg== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=XkzbVPKdAobeywKbAI9y10toJzsWTmr84gT+Km5OSuU=; fh=eQ7TvQ8IfbWt0I0QUk1AJrqFyhuu+WVa+mSawXRMTjA=; b=bBbho+WImUQFiZLWR2pEtrIEE/aJVezwGpkbucaQU8ozr/UAu4XHHDrJGGU6nnGUGT qVLkUEhDcqCR2dclztlfn1rPdJhsHxGzeOwTbowpDRSF0Ey0lrNUsZeg3YIruMkiHFuT ZBQg6o+uGJfwFhXr/0oimgX2OKixX7BLj2/G3qDqunWBYaSCW55Ys3vTMoACJbLUazbF QnyPeE9TfTDjZmcRG61TFb58rPL16T0LEHCd4EXPSfTiGwnWyJrs0tqbD82j3vqlqeFv AU8K1DtSpBmsIj1pJnbYpTMuR4AjcPF8HzaC4+/YbWsiGHcJoh3dv+TSvUbKm8aXc9RD kPag==; 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=1783091326; x=1783696126; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-type :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:content-type; bh=XkzbVPKdAobeywKbAI9y10toJzsWTmr84gT+Km5OSuU=; b=H+VCzVuNNStWkzFBq2GqLAm6l4KZM22sJxQNyEBFiLe/lW1G/UdenjOAkqgpFTGbcj MsNlHBbxjVSo5OveOPp/F2jwP3h09aHlhpZR0n09ilBUNxV+ER9WYJB1RA1N95AHz0Av zsFR+0VVn7lJY0pwCsZza3I1bLbyI1A5LsvbNYT8j79aTSOcsoFg28B2+h8FxmnkHWfA vqpaJaiFe+S3l37ABkVG+jTnJzy1KECxkauJxLoUzEgONeRxnE92RJfC3JJ2LwSl9CGP NNWnfXuc5sycWD5lv++Fdhiyhy8HKCF38laUsBkwLhByXxtiWNUXoRTlJ+zoxnoIowNz rkqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783091326; x=1783696126; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type: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:content-type; bh=XkzbVPKdAobeywKbAI9y10toJzsWTmr84gT+Km5OSuU=; b=hzCp7qr9xKfOF+oQmyPj19+ay01j/Q6Tz4gX/ZYIwCpowT7UdWTUBOVio+NU9t5l++ ABQ3QqgVmDMKZ0PNYV7rGMd3dwRg/hUSqEI7A/p22mSeSie6Z6YRc58l6bw1m+TZafJq 0tqJxOwWmVcKjB8t2dwd3BA2J9E9dORhF2ow+4oR+4YhpjyDGL6/VKomlH3XrY/KJpel /t590UynvMSHc6R3fxOAY4ohUvgo9VHa3ywqMhRc4+EN6b7RBiQjRX5GTSnjS6hhlNhg bxVwLhH6yW/bZoN+EXfgI97shP9iHfso8VY/McrqYBMdXSNveZMog2U5ihS7zfGDukc5 XVWw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AHgh+Rr+K2uWIBr6U2hZ2uErl4FQBTtvE23Sz/B287c+XjM+E0kTzM3VIK+ZToxY3Vw1Q8XvLNYSaXg=@isar-build.org X-Gm-Message-State: AOJu0Yx+K08IxqdAwDjybxuuqU5f4m+sfkkK621pNhpSMEvP0Z510Bo9 e6t9+lE1mdGlqJzDTWcbTa0J+ievMvYWNRpl7YERpsOAs41BbvXPGTKS X-Received: by 2002:a05:6402:3908:b0:699:6415:751e with SMTP id 4fb4d7f45d1cf-69a175c5af8mr48408a12.4.1783091326387; Fri, 03 Jul 2026 08:08:46 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUee5HmVJBtSXxKs+kg9rB1p154WyP4D2ysaOt640MnOvw==" Received: by 2002:a05:6402:321a:b0:698:599e:a7d7 with SMTP id 4fb4d7f45d1cf-6989b1c50bfls3574022a12.1.-pod-prod-04-eu; Fri, 03 Jul 2026 08:08:44 -0700 (PDT) X-Received: by 2002:a17:907:8997:b0:c12:13cd:9579 with SMTP id a640c23a62f3a-c12e3cdbe1amr8299466b.0.1783091324407; Fri, 03 Jul 2026 08:08:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783091324; cv=none; d=google.com; s=arc-20260327; b=FXgkBQM9gq4D7r5GOyW1a/FXs+XnqeVjai8SKLGwEFh54du2Vr67pSerDERBCId1or +IdIMdhPnUUbZrcpxNoBlh68tQhRXuSVV7KEuQWlKJPU++mo+Oioqs+6hJ78lXa6G/am 87ivx6eTrUSJwSkP+FuW7Ek7xs6nRWXnoiZdtLccBVbmVBuV8wEqhx0MDA4OFR7TYADx YYwfdVokfCkGzxMTiG+fZiRfkQHOuiNf7q4h7aBHKGd0FXrT8E8GzSed2VE79d2F3cVT Lrq4VJSrriZOL6Nv/2APPtZhmoGkwwUFBKwGZcgxXi3lLRIlnugj371BTQL0x0L0qei7 jxSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=oeuCOTpzQuFv2lx+sJFftN7CfwJlZnopp9sbxbJ8DCg=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=qAdJrrWYXTiJ8NYgj1CX03vmrhS37/dZT13NyxhBbqMf+u+1Z2s/vDBTpqdfma10U0 IGTGUK8bP5fo2Ql0JdDuLFHmLqTfC1Ah6ETpSt4iwOOu/jBCfi8SQmfxIsMdDyO/gAab 1TRspOmefVzgTpOo1z11Ruk0iwucnsiq6XtA2rOUghaUDfUTqE4NrVAQ7cZZODnNcXcy rde7BFIlUHySZhSnbdD409yD9X88Cp/vW9tU5ucKXSFlBLkhIysYfYanBwqnkQEkkAAs EIS2jPGd+mYJfUir9RhDmacaOAR3lbmxa3SjLsbCaUDFAql1mE8ecdOgrs6V1c5YSO+n 81lA==; 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 a640c23a62f3a-c12b5afbcd1si10515966b.0.2026.07.03.08.08.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Jul 2026 08:08:44 -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 663F8gDS017164 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 3 Jul 2026 17:08:43 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v12 1/3] meta: Fix do_copy_boot_files error for different distros of same machine Date: Fri, 3 Jul 2026 18:08:33 +0300 Message-Id: <20260703150835.2490688-2-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260703150835.2490688-1-amikan@ilbers.de> References: <20260703150835.2490688-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?= 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 Fri Jul 3 15:08:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 5214 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 03 Jul 2026 17:08:55 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f63.google.com (mail-lf1-f63.google.com [209.85.167.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 663F8rfd017216 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 3 Jul 2026 17:08:54 +0200 Received: by mail-lf1-f63.google.com with SMTP id 2adb3069b0e04-5aeb1825472sf656178e87.1 for ; Fri, 03 Jul 2026 08:08:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1783091328; cv=pass; d=google.com; s=arc-20260327; b=ajjtbdW9sCPJtjgGgLn6mm8Z8R5cVTGFbewzyvZLzJWcSZNHb4Cf6eDTjmKUMQLL85 bwXxUkHDapZghOB5y2xRML1PINKwRltdNn1P8AcfDEb8gsdIOD6PjUqWXUJ7m92yy9na yXdIIHhq+IPt8mT/882Ah77NZlcNIub+oAviccAD+7HNPO1BjTkVdszKVtoxhQjxLQCP AqtySxYMMGGyP+a0kMAgBcv9tP7zxd3CCDNTS8IQYIlmyEUkrZEHqgIpXTSmn3Al2Sfj BHqIKvSP9FdF0Hn2QhnzYhfyBeJzdcxv9o3Lo7SOi/2wzPCybdb2PkludiW8M/r5blXr VR2w== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=7Lu2GweBDe8KE0SKUsLV0rLqGlCoXMMXVooKHVlNPWI=; fh=Qml1Ze+vwSwWo1mIJvb2LVJ5Ahanklu8erAVpsvIOMo=; b=bM2Ktrp/t9S/7IKzDp899CbpDd6MQjcZc2FtqPvd4kgJDE6/wTS5/1dD5YI5mBqdby hQLdLa2yRXFFBpalRshZ7asW2hXEEUOo4OB8noAs27i+qHzsFufvq3Q29O9euKsDMLjb dAmWVGxyvZQA42B+DrBgNA3srwkDXhX81cvo+xvm8aYNwWjbzDSvbX0z0IyCpnncsM1B cO9kSZu1WXocc9cRvjidrVBYsNauHPmh/lAwgxj/mgvKn47+4rqBacV3k3p46i4E84YV L32SwaBY6e5YUntazsgY8JE1/4jb5hq7byi3thgcpQl3NppPNZhSXmpJoayBT7wC2cf5 DRyA==; 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=1783091328; x=1783696128; 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=7Lu2GweBDe8KE0SKUsLV0rLqGlCoXMMXVooKHVlNPWI=; b=aMnn6gUYCT49rqaLucVgeK1VPKn4KwW0fe4PTEITuMoUnlzR/axv/aK5W2xtviizTq eIDmf7PKI5nWjXP4DTftKvKIj2Rrj1cdcQfMiRZT+LJ+eK6FJfAP8yxUfLSRkQMs84tk uahPD/BbIn2O6oDh/UE0bNMI+rSzJoFgGYkUMN3aEWV27C6fHMJv2hbU5Qui9DpsIVXG 3e+MwbzQj97QqsxbpVPJ9BP3xu+fK+xILwx1TPEgGe7lrWaf9AympsS4QDtQtXtmLGbA s85bJprwsl0lsXbx8AaK1MZ4sj3bmxMj6ZJhllzxFU9CE2QO7IahkvmmfIV2XmPdQd2F chHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783091328; x=1783696128; 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=7Lu2GweBDe8KE0SKUsLV0rLqGlCoXMMXVooKHVlNPWI=; b=jRAt64YYFAvCQQ8b//iVsyA9blT8NDmXe8tcJjTNMx/DjBnaSwriGrVzUH05mmypRf XEgFWHvHH25fDv4o7lPUNzPUv40NyR3frTT3XAuGSG1hfZv9/lCk83TafbXhSbL9L2sn ZPsYoz210AfG3D8xmo6K7yVaBPlpwzQO3o9kUCYJSi3l4jnHn7GpS6a2k0zwNhg6Igme EbWi1vngpE0Ac3akjD2j8NIpM/OMeZ6ytgzls8Aqo7EWC6Sc/Nh76eCC6F4+CL83v/V0 sBudH10X+1ShyCPu5UhXF/uw7IE2C3fsE+awZ/fBDNzSmdDPfX/2bCtizhwAO3EWpn11 q8oA== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AHgh+RoJTdGlRqfhdczze0VFtJXjI+qrN0tATvn0o/WLTkcFckSv3NrC4j62xb6KfCtNIYllzFQCwtw=@isar-build.org X-Gm-Message-State: AOJu0YyuH7r1snrJ7pyEvhfVvjuOO618TSEbp0RLcye8dh7v/79UDOXW +Um5uAq4U+NxwhJ68KJUcvZf9TDU40vJ+3b9iO5WJvALRXUsg9hO/i/n X-Received: by 2002:a05:6512:66cf:b0:5ae:ba28:a56e with SMTP id 2adb3069b0e04-5aed455f13emr16235e87.35.1783091328137; Fri, 03 Jul 2026 08:08:48 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUf/Hy0GKxVhib/a0Qf4ADLpRCMdDvouWZMlK0ymAy51yA==" Received: by 2002:a05:651c:31c8:b0:39b:126f:e3ec with SMTP id 38308e7fff4ca-39b2d533f82ls12210681fa.0.-pod-prod-08-eu; Fri, 03 Jul 2026 08:08:46 -0700 (PDT) X-Received: by 2002:ac2:4c8e:0:b0:5ae:c745:f39 with SMTP id 2adb3069b0e04-5aed4568094mr19189e87.44.1783091325771; Fri, 03 Jul 2026 08:08:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783091325; cv=none; d=google.com; s=arc-20260327; b=gg0evMyQoWi3ai9icosRN+Ar6GrB3NYEzbbqCTNkO6Q3HMKKx6Ov72LDfsVX4tsOK7 8soBoBdCmtPCn5OdNATXVDqoGWAUhYhex+JtwCabiVYhJD72Mk3PmYTqC2obyrCQlBAt QVgMU/P9qEj0KcYXkyBOf1M95DMYYQglruqvdHJrbZk1bKtnPfDpBvNGD0yzaJAGDJwH XNrX+QQuyjzRBVkdds1q92V0tVam+i0k0tO7bJBhcpO8w7IzFUOJlG/J/AtIDWH8c7Qn qk5DnPgMKsN3Jv16dBgmYbqtEfSF4sp+cueavbtTbtLCDUmg71pcabSoiyYp7Vdz33hb QRZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=gmtucNpX6zPhFkX1F7r3Wtyi0lUADOSB6FuRuAgVMUo=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=nxERh1tDNSFU7O09KIpmkkucQG/yq3IDx7uK2q2gjHohZEfr4LUzKM1AwI8y1PqbMe 9+yDiqcDszNHx47WPsTh9e8L0gGfXI63WswpwvxlQ7v4GMY+6wg9Cu6WZVm2isvEIQqR KWbYAVUrO81MH86t8jqed6C/5TC/bgtVxrjd2PebzbhSEdj+dt/s2N0emmypEn4FO8oM ev6W1CPlzVem6KfBpwjriqIJqQ5QVM2OZFDg580R0Ycf0CIkdjrQkEIK9PlavSuyhoQC Q6fvRGIDlMGjsiPRSRlSoQ0SaPsbzi1itur+l9A2IBEG2INnuiZ0J0Ez4Hh9JJqYpAFh jRmw==; 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-39b4ad91a95si436021fa.6.2026.07.03.08.08.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Jul 2026 08:08:45 -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 663F8gDT017164 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 3 Jul 2026 17:08:44 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v12 2/3] meta: Move kernel artifacts deployment from image recipe Date: Fri, 3 Jul 2026 18:08:34 +0300 Message-Id: <20260703150835.2490688-3-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260703150835.2490688-1-amikan@ilbers.de> References: <20260703150835.2490688-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..4b33e234 --- /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.getVar('DEPLOYDIR')) + d.setVarFlag(task, 'sstate-outputdirs', d.getVar('KERNEL_DEPLOY_DIR')) + d.appendVarFlag(task, 'cleandirs', d.getVar('DEPLOYDIR')) + d.appendVarFlag(task, 'stamp-extra-info', d.getVar('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 fffdf12c..42e0c6b3 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 @@ -338,3 +339,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 Fri Jul 3 15:08:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 5215 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 03 Jul 2026 17:08:55 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f57.google.com (mail-lf1-f57.google.com [209.85.167.57]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 663F8sA0017221 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 3 Jul 2026 17:08:54 +0200 Received: by mail-lf1-f57.google.com with SMTP id 2adb3069b0e04-5ad4f8a1c78sf452035e87.3 for ; Fri, 03 Jul 2026 08:08:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1783091328; cv=pass; d=google.com; s=arc-20260327; b=nXZN0PfBRDJpUTgibRzhzkGle+KzjLj2L3Ac6MyUD85xPvBQJ1LS8BL0qiKWopAkTH cEHddfwJjsInA7cONb5K2svwWu4O2LCtX2Q2eqHjSyECKXtfRpEitHj8LrenthBn3kKo cqMxaG2DBWhcQy2lpiZH/opnbZPYGzxyn4lF4ObI8FP9Gx5830/07p5LihUbaCbvkreT MiZY9CO/dQtcnm6aJYNI4DF8Cr8Iym02p9bhJ2imzMZ7VM1gH/ASM9wA0AEsXrMQ/aHt QT0GuYOebbn5sEuou6ljZIefthjQHCX5RSFfcPGg8rqqmvOBjZK4M0GMIP1HwXhYoqZj i38A== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=5mXaCdUrU2tCXxobmEdE6L47GY8gCvt4SOwFw/3cGBg=; fh=6rcFMdW/BkP8G1bZuDxMnaBSAgoHQAwa8WLfiHPzRWs=; b=nVfdxvp84xAaMA2L2azfZ8C8OKdDbcZpFoIczeZLEJ215bsKrq/wZM2GkmsllJGAfp pCKvM+lu4yGz40NbMEO8965RJFduYg3mLk79p/fUOG48HbPEAN0PrI8VFDKHT9HcetPP VNu3BCuXmJa7RDqkX9U1oKU7QYZu7ujrZSuL6Yqz/32drnD0XkloFhMuhhIJXLPPDgWV tHRf7+gwe31T6zr7QkyNzsWBjuek1jASI0+kusERBKQrxpv2ezUjJPYhCa9EiMst4jA7 //ZFCskum1Mesev9onl8R22bSxVAdR+dr23P0Ab8lNbUW0GBf1egsm+4vky+Vhy/do/T D5Ig==; 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=1783091328; x=1783696128; 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=5mXaCdUrU2tCXxobmEdE6L47GY8gCvt4SOwFw/3cGBg=; b=LoeSXPuW0ByScZZYFXv/+Vo55GsGn4AQlujIa1AgfHwCzczubEOaZOftN/5kC3r4ci EggbLUwee+ZfcZG0hgjCMD3c+6g0AZSet2kH5JzP/xqqsmTdPMZnIH9qCa6/KBvtV7pV VKS08YNcQliJRLxWoOwVFcI6e8TwlS9ghljO6xenamupyqFVSt6WOo4n0z1JhdRv4B2s BPRUNv75ijYNfuzC5dHIV16nAqsIGKKe6q8Svo8wg26b8bYySflDMhPIWJE9Y/HT/XtV dO1qu5wHtQFlOwlAgvsDbEXq3656BGtpiUxBXqUQ6oEw2Xt0HJd3bTcbUlq9asIiE8hj 9GmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783091328; x=1783696128; 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=5mXaCdUrU2tCXxobmEdE6L47GY8gCvt4SOwFw/3cGBg=; b=eeZVVE7AMIslXsmKdUvz09W0hdDrmLbq4ZnO17n8wJL91XhUCWgziAUFHvivFuJV8K fFJxSmNPGDilcu8SpB2veH+CftZVb8ga2kRxBFEPpGkehAaFQ6sXG+jHmhCnoASenALt bREoZaTgz635t0cozQLncrd+qDZnOA/HFjBYzCaKMf5v063DW1cN0DMI3ml/RcXFdvBP E0Bb84Q9tnb9RyGzgfGbfPCj+BQ4EJ6fhR7KK2hV7R9ILrfPo7WcvL51zMf2ES1YlKOU 0W/TyUQ88D+tDTYU/gmKVDH/t/uasLRvGhIdUK5z/DnpWdtjNDkVg76Yl7PQoOVX3B0a eesw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AHgh+RoOb71eHwmQ00DeRUYDndiK+USb4KbfuaHIfQBpoNvHTHUsp/BAyIKWRirHgc10ADfm3Sq0MAo=@isar-build.org X-Gm-Message-State: AOJu0YzNGdUN++aHoMOUi+WumVb1RzdSUTtDx5htkTzxynsIuXitTG+w /8+Qs+1RBUJYzCinwxg1mF7EZNKm+oPe4ujdRHVMkqbqdVm2q/7AJM6j X-Received: by 2002:a05:6512:1382:b0:5ae:b886:3ddf with SMTP id 2adb3069b0e04-5aed452ff33mr34899e87.14.1783091328541; Fri, 03 Jul 2026 08:08:48 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUebG9Vk+odhR7jRsHjH3/vehLO7WJM9+1to6PQUKvv9Qg==" Received: by 2002:a05:6512:15e:b0:5ae:ba93:ab6 with SMTP id 2adb3069b0e04-5aec3373406ls1218554e87.0.-pod-prod-04-eu; Fri, 03 Jul 2026 08:08:46 -0700 (PDT) X-Received: by 2002:a05:6512:839b:b0:5ae:bd76:49a0 with SMTP id 2adb3069b0e04-5aed4534e94mr22866e87.24.1783091326294; Fri, 03 Jul 2026 08:08:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783091326; cv=none; d=google.com; s=arc-20260327; b=W6GJxsz0pdEioUSHe5MaXQk5kbHaTnHT3TolsXNiKmtHOTDDRoqvJWq5Rq1EPufuhg QEFTWiSj6+SdcxxpnyTV7B8dkBlDTX4LpBxA7bWoF6McDEmoT/1Wdvo4+C/120mNRd/P oS4NNv6DeWjtAEt1zJEI8uPRO/d4hNAgze/LKhyuRTr3A76VedF/AW77WPS3R/XNc0BY uFrQ/Vn+aITIxpMIsj2L6e7tpU2iNma4RtdplbaGiEZRGtBA1FwYsijVnKw5dfR2eQlj k3A2+GFtq+ATf4GbFdwBec18P2dThROApSThnaAItV6dLZzQ+eSykNQOw6PYRrU6Z1Sa khSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=h0hky9IRJDzQOnj1aAVATixII0+RIDUwOe2gPM8KQIo=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=dTmlTpRpJvrdLnYTHaAbzOGbDJAZvPq6+jTocWNTPUfU4dtbp5yWj8WBbVjPaRS4zW 7db0xnWJi8I7blxvkZ/NtiYhD6sbD31N715gbKhhVcakLKyMkG65gDyIc+to8nHsv0pJ Dk5/NIzSuYxdx3jAO0cEBhKQjEQr2BhYrqf22LMH9wbw5GU6ZLO5dr3iGejO7LcRRD3h dvQLCQGdpweK59vJlfJTVMtS163OaxB1ceAF7Rrg7nf748V1vRvMf7eqF+rxO/Koh+fd eWMB1+gUvECgJndHLwb7dmEBx5Mu+8KMIRWHcbSoI74umo8XTgubah3V/VEJGAc6T6Gd C/pw==; 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 2adb3069b0e04-5aed13bbf07si38814e87.3.2026.07.03.08.08.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Jul 2026 08:08:46 -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 663F8gDU017164 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 3 Jul 2026 17:08:45 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v12 3/3] CI: Check kernel artifacts deployment Date: Fri, 3 Jul 2026 18:08:35 +0300 Message-Id: <20260703150835.2490688-4-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260703150835.2490688-1-amikan@ilbers.de> References: <20260703150835.2490688-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?= Improve deploy test cases to verify kernel and DTB files are present in the deploy directory after the build. 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')