From patchwork Wed Oct 8 08:55:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 4404 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 08 Oct 2025 10:55:30 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f59.google.com (mail-wr1-f59.google.com [209.85.221.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5988tTMJ006705 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 8 Oct 2025 10:55:29 +0200 Received: by mail-wr1-f59.google.com with SMTP id ffacd0b85a97d-4256fae4b46sf2544477f8f.0 for ; Wed, 08 Oct 2025 01:55:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1759913723; cv=pass; d=google.com; s=arc-20240605; b=BTjbR7aipUbFBVVcfStbkku0gLZtBMqQtpO3BVg7w3jh9YVNKtDFzHXww0eYpEw/5t z91CCaBVt5nE/4o4MPRaAhDP0BIFf7Ayt26nURDq141GWZJHRXGkvUtO+wAA5G9dyKuG 4fPs02BJqRNc1RShQpKlQvJwQ8k8vwDUG0gmzcAR+P/bxCLIESNHq7c8AgRw2oD12WUm jeCXgKWH1eUHorxrpp/dXV5wllAEgCTL5EQCENvHTssWHDLnMQY0ezhmndVTDvdn7EiR m/NcgW0KI/MxcEDHthc8kUKC99wqzG9FtDIIXbOu/fdUNtm0Gb688XTCVu2dzrgQNQvv PahA== 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=Ww9Y7MM8SN8t4F4H+8NEC4Tw5rj1/bL/sHSusgrhkYg=; fh=rV/+8gyZPcFEhNqwciWQj+KbgpYiM/4P5w/PkedX1rE=; b=H86fd8Jofm/N7GQ3XcMkkziWcM7M58ZfEr2aOnRFQg/WDO2/eKFypO1oDx8Msodvkg 6fRZdYHs7i1OlcSt2QBH727rjGiuawI8bWZampBRG70/Z76VcRtUUCbnLge5NHw4aXXm pYzgPhVNtZyyw0bIB9FyVS0WancZ5ToySJYj21eKM1p4cesoJDpFtsmt8sx4XqVqJOc0 sCLTDY4mp/PuzVTUqCpXaDrTnCpG/MtT/23vlJ5YUpRsJHeFWS9vDfy68dJdlfNHyO6k t6F5hab/ZhJfUDMkdfMIIVpiuJtskgPjmhxskXSUAeB2cWlMglSLguRdvJEF+Ri2xzyp F3+A==; 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=1759913723; x=1760518523; 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=Ww9Y7MM8SN8t4F4H+8NEC4Tw5rj1/bL/sHSusgrhkYg=; b=Jgmi+7IY7j0dAYJGSWLE8fBV23xapJTgnV1HhRFBM4CLusVL8eZUcFQEVdRrML59wh 20WWjFR68pnJvEKpW8pDnW7+m/pLrz6v8WpCENsJ3HEUJxlFZaHtJ9pVIbXzI4W1tCGx 9JajfrC2hAf6/yP+hn4TqDc0+WMombVconv0vYOcDEkaVBzsTORLz7Elh75UvcKIPbT+ kcgUPK1tpEQkGyIFjdvIPgg6lxEsnaNpd7GhGgZXIqAp8NyRS2Mp+a/TwEiafyvMZExe pS619DKA1a1drWb9GCJSgC4XPI9MQoMjogxEXYLpfIS8yBGUP7pzZCim8kKD+u02O3FD 1nLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759913723; x=1760518523; 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=Ww9Y7MM8SN8t4F4H+8NEC4Tw5rj1/bL/sHSusgrhkYg=; b=j4fqG97exExUe+0T7yuPfTuzxGxb7jFSekfm1SlJ7SK0TX9+VvYYsQP5QTTx7Oxoo+ g9yeNOAaJHt30l20V9qC3wQhwUrj9TgYBad/VMCf5VKjcyASV1LYzOPMymVKnWPxxYmZ Mw+US1f/xIAk+AGy1rNbT2tp6BcRdma9+TIj7K4Rj6IsDkw6tSQ+C1yc46G3Tz6MLk7p VZDFAOdR+rzEWAKa59Cd+cobxzxzjWP4HODgt6VV8twjdQkpk87vIXPDREahU9Bksf0c cJ+tU20ztPOM+wNXvWgvlY9oyKXJ17i1F89ShPtzpvOIwb+ic/vP1hTuZUqbxaFRA+GZ 8bMg== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCVazpwqR6g0wMI/DEKQkirdynBSFpdG+Zq0FmbAKvbdz+GRMBoiaCjv88w/UR/9m0htQsvkLbc=@isar-build.org X-Gm-Message-State: AOJu0YzPBnzorYmcPVYZDGAYP7faQ2JSXbdeqWe20nW845zCXhYwI82m 8hOs1aeqgtqm0gVxvoEnQ3VS1/D6N9PRlWyeDoF8IH5IHoraNEAzJFkp X-Google-Smtp-Source: AGHT+IER4pp6d/dBRq9ESYPjfPW1KIEjwjPaQDKEyAmldqE5rrxttlanz5J2RtxEf+OOODtOh/SHoQ== X-Received: by 2002:a5d:5d85:0:b0:3eb:5245:7c1f with SMTP id ffacd0b85a97d-42666ac46ffmr1271018f8f.2.1759913723340; Wed, 08 Oct 2025 01:55:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ARHlJd6MDX8kDhCVyEgZny7garDDZBqAgckufi0EiNgAucGHbw==" Received: by 2002:a05:6000:2b06:b0:3cc:7f5a:b383 with SMTP id ffacd0b85a97d-4255d29aea8ls1848750f8f.0.-pod-prod-09-eu; Wed, 08 Oct 2025 01:55:20 -0700 (PDT) X-Received: by 2002:a05:6000:26c9:b0:425:74e1:25f7 with SMTP id ffacd0b85a97d-4266e8e6d0amr1421663f8f.62.1759913719875; Wed, 08 Oct 2025 01:55:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1759913719; cv=none; d=google.com; s=arc-20240605; b=OsVe7od5DwL72pxl9oYLdHGVMdlkA0Ej/fGjDi3RJ9LHSZbR+2v4RHidtSL3GX9nmB eI4LyXVTHZ+WuwzoggtnEetCNbzrczApniFmIlvWGt/jCUsj6WCO3vGoMfI+DYKYXbmn Je2c5GAqLevBMQZu2/x9qebUefIblWZ4KQkRU1Ts4b0UekfIiQBYzRiU7bFROneOBWOK jNhpD7PLXg319xUuu7qN63MJmRK5vvfuUGDt2lN4ASOSntQfarcEhjCV0BXlN4Kx2r/Q oysc2zWU05ICQN1XqFXPJ124fgHDZtRBL9GW0kB+bL5fP9a0AcdTisVtYH/tyHEqvJ1v MSwg== 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=p4EBgPVrqQC8IuwVrvCvYdimMFBLnstdueQkqQCh0Bg=; fh=403AV4hwEHWB4lTYzGdOyLsp6fLjI4P6I+0rnADDAes=; b=MpS+Bk00EsaKYzX6nzWk7E3IvtXGB4Sr9JuaS5TNU16JyyK/3k0LBFqFzu0Q1xVvzg eJl8ZMOHmuCR89o20UjGhjRUpn0PtXub6BahHFaZXH3wbHDd7ZPqwabGC5YY3oPLofjn pMtZADBd5m9S5OBJ0u3m/M8cLbRLMilX6uJFf3QqBL7Mq2aqbSyz0oD0dATlWka/TzBv XA0zQ+P3GAUU9emYOGwKBNE+eVAOtgE9ZLt0AstgoeE6+jOIpVlBmVQmyYU85W7UwtUC oYRqJeqdgtp1WXZsOIvunhQXcBDONylFUomI7viqnMjEltO+N5tsQIAxNuepU4tr6d2A QYgQ==; 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-42583aa632dsi94034f8f.5.2025.10.08.01.55.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 08 Oct 2025 01:55:19 -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 5988tE3s006643 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 8 Oct 2025 10:55:19 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Uladzimir Bely , Anton Mikanovich Subject: [PATCH v3 3/3] meta: Move DTB deployment to a separate dtb-files recipe Date: Wed, 8 Oct 2025 11:55:07 +0300 Message-Id: <20251008085507.1017500-4-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251008085507.1017500-1-amikan@ilbers.de> References: <20251008085507.1017500-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: Uladzimir Bely Task do_copy_boot_files was deploying DTB files into the same location for different images (e.g. -base or -debug). This causes build issue. Introduce `dtb-files` recipe responsible for the extraction of DTBs from linux-image package (distro or self-built) and their deployment. Different images for the same machine now depend on this recipe and shouldn't cause parallel execution issues. Signed-off-by: Uladzimir Bely Signed-off-by: Anton Mikanovich --- meta/classes/image.bbclass | 15 +++----- meta/recipes-kernel/dtb-files/dtb-files.bb | 41 ++++++++++++++++++++++ 2 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 meta/recipes-kernel/dtb-files/dtb-files.bb diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index bd1b8552..7cb9b9c9 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -335,6 +335,11 @@ 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]}" +python() { + if d.getVar('DTB_FILES'): + d.appendVarFlag("do_copy_boot_files", "depends", "dtb-files-${MACHINE}:do_deploy") +} + do_copy_boot_files[cleandirs] += "${DEPLOYDIR}" do_copy_boot_files[sstate-inputdirs] = "${DEPLOYDIR}" do_copy_boot_files[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" @@ -348,16 +353,6 @@ do_copy_boot_files() { sudo cat "$kernel" > "${DEPLOYDIR}/${KERNEL_IMAGE}" fi - for file in ${DTB_FILES}; do - dtb="$(find '${IMAGE_ROOTFS}/usr/lib' -type f \ - -iwholename '*linux-image-*/'${file} | head -1)" - - if [ -z "$dtb" -o ! -e "$dtb" ]; then - die "${file} not found" - fi - - cp -f "$dtb" "${DEPLOYDIR}/" - done } addtask copy_boot_files before do_rootfs_postprocess after do_rootfs_install diff --git a/meta/recipes-kernel/dtb-files/dtb-files.bb b/meta/recipes-kernel/dtb-files/dtb-files.bb new file mode 100644 index 00000000..f64b4845 --- /dev/null +++ b/meta/recipes-kernel/dtb-files/dtb-files.bb @@ -0,0 +1,41 @@ +# This software is a part of Isar. +# Copyright (C) ilbers GmbH, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg-raw + +PN:append = "-${MACHINE}" + +KERNEL_IMAGE_PKG ??= "${@ ("linux-image-" + d.getVar("KERNEL_NAME")) if d.getVar("KERNEL_NAME") else ""}" + +DEPENDS = "${KERNEL_IMAGE_PKG}" +DEBIAN_BUILD_DEPENDS = "${KERNEL_IMAGE_PKG}" + +DPKG_ARCH = "${PACKAGE_ARCH}" + +do_prepare_build:append() { + for dtb in ${DTB_FILES}; do + dir=debian/${PN}/usr/lib/${PN}/$(dirname ${dtb}) + cat <> ${S}/debian/rules + mkdir -p ${dir} + find /usr/lib/linux-image* -path "*${dtb}" -print -exec cp {} ${dir} \; +EOF + done +} + +DTB_PACKAGE ??= "${PN}_${CHANGELOG_V}_${DISTRO_ARCH}.deb" + +do_deploy[dirs] = "${DEPLOY_DIR_IMAGE}" +do_deploy[cleandirs] = "${WORKDIR}/deploy" +do_deploy() { + dpkg --fsys-tarfile ${WORKDIR}/${DTB_PACKAGE} | \ + tar --wildcards --extract --directory ${WORKDIR}/deploy ./usr/lib/${PN} + for dtb in ${DTB_FILES}; do + mkdir -p ${DEPLOY_DIR_IMAGE}/$(dirname ${dtb}) + find ${WORKDIR}/deploy/usr/lib/${PN} -path "*${dtb}" -print \ + -exec cp {} ${DEPLOY_DIR_IMAGE}/${dtb} \; + done +} + +addtask deploy before do_deploy_deb after do_dpkg_build