From patchwork Sun Nov 30 09:27:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 4664 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Sun, 30 Nov 2025 10:28:03 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f55.google.com (mail-ed1-f55.google.com [209.85.208.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5AU9S2j5005419 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sun, 30 Nov 2025 10:28:02 +0100 Received: by mail-ed1-f55.google.com with SMTP id 4fb4d7f45d1cf-6407bd092b6sf4019178a12.1 for ; Sun, 30 Nov 2025 01:28:02 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1764494875; cv=pass; d=google.com; s=arc-20240605; b=hOqDKojKqzqFIam9TcoiLGlZQh/6K6OpRrLLP23X1VlkNqpM2wscyZYjE9qNnp7A+v Z6nIFevyo/HVi4p5ujeVkyIDZx34+nRkFMC3aNN/PJVxUy3c6ulmAE86KsYBMSf878XA wq9kaihhV04h42xtpqpwZhNSe1mnMACDDkLMHGqgOHAUbZ3tVswIJiT1dJ2+nwNib+J0 dXQY31wNhUIZ/2TgMDZP7bbM3SvilShj73FRUK7miOllxLDoYwcZeedDwEQWvMJouz/1 uv1ht5KwAcUYSqNHARhxQYfD9cShexHe4uLApf8REX1UTbeSaoPzRd1GJjbIpH9BTOjF IhiA== 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:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=7mHINGNJPCaJSh1WH9v2hCB+M6JiidhPqEdXYOIlIPU=; fh=bhfPjkBt6FPB6vMZEXzQXlOai3sqvyNdHAq9CAWrjB8=; b=ZfqrRm9zlUC6hV8yiWGhkKTw70j7OKRbZzbOhxtUp6dhXvkVS6ot3j8G0u/BbI/Yza KE1YcgNfAOLDVDkbfVEnlDN/nDedRCaMr4ZS98YYLyBaAeghaskgCjXcSiK740tN2Dus hSE8a2F8+kuG1/gRoRpVsR/y+sfiCigyTqTXRPju71OYGMXbSAy9Dvt2aQf8FpYWkYm5 fI01UIqIE9BQnZzHQvJ+NUkUzjj6L+xIEM5fHTldzGk7+o2Dn/dgd9wX7o1AXwTEzG/+ ATW9TuIGpZCGXVdoD7s43eCac+I81HtQ77lba+zftqV5qhmiCkKZXppPzEdX478Ydlcc b28w==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Q4PChdBD; spf=pass (google.com: domain of fm-294854-20251130092751668f60134d00020719-tqmngv@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-294854-20251130092751668f60134d00020719-tqmngV@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1764494875; x=1765099675; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=7mHINGNJPCaJSh1WH9v2hCB+M6JiidhPqEdXYOIlIPU=; b=iR4SGOEOmgwYFeBg9Q1kpBs9yRh1zQHydpybZXZs+tOsKMthRhOzD6ej+ANF2y0MLA gjuIDFoNEozZLmMyFOdVpYouvs7VI17vtkq/+b51GUdWHVShx+bHH5Xpq4DGPXbTuYUj FMO+5Bt6p5E5IBhW/MAlnloz8uH4vNK+8kUvU1bCU8zj9sBAV992sNRzanFHCL4PzB+m w2O7DhpYwYTudjuRYUGevXJ4al2MCRZOQZZ3110ykbWauNp45owJhuF6CGDo+oKozjkU Dgf2XeoTM+183PxeQZgcDrV2vJvg1x3eQIUDy74emuF1GSZyUtVpId5K50Qma+4ekCCd ZCSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764494875; x=1765099675; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7mHINGNJPCaJSh1WH9v2hCB+M6JiidhPqEdXYOIlIPU=; b=lX34bdAqrOdKAme+Drcvyidt7FZlHsycgsuLh7gKfJbFjH306XlvnNABKdN0Dt180P aqu2uUdWmnwKFnBnG+7yfzXLbgMmW0lAU8ScZeUUMSExzVBsmLo+GYDmleDh7+2KIaM3 5N5CnJ7j6JASE5N+PHr1uwSDJj6an0i3UtiY2LkuuLBLg4k6mcwpekYr3zz3R/oWGJyQ VvkgMvgUSkpkB1iyXJcnWXlbbXKDgUfvzSeoEZpNhqYKLEDaCHC158bc4lgD4SI6k0Fk vUIsx2kLfqkJnmCxPux150cABYXZCOEY1bqwkDQEj/vOuHdz4LsjIl/aKMZ4FFZlvKn6 UXHA== X-Forwarded-Encrypted: i=2; AJvYcCXNNOTy64oniKl1Hxcv5saoanfR1RoqIRn1SRaTyd7S6o2XF41TyLMFFuKiaEPELuhnmHsnFAE=@isar-build.org X-Gm-Message-State: AOJu0Yw7llhLOHoEcxEDoA/fvvChHnnB/xveedUR5tKgaXSc76YQWq8q AY1ElIRt9YFamUllZ2vl51ezTDpzZJd3q/tLe6Lrjbw62te4pAT0KaVw X-Google-Smtp-Source: AGHT+IGTnGLCmAs8HOls6by9YOJZYAZmqxW1AtwfbWw8+Cm2mvrRdTdwUziXS1iDumQ7M8R42quL4Q== X-Received: by 2002:a05:6402:42c7:b0:640:e791:df67 with SMTP id 4fb4d7f45d1cf-64555b9bebbmr32516400a12.10.1764494874834; Sun, 30 Nov 2025 01:27:54 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+azprl0mXbZus1QKolFkj6r9+nnh1ZJ2PhpUaEpcWDaYQ==" Received: by 2002:aa7:cf11:0:b0:641:6555:a42d with SMTP id 4fb4d7f45d1cf-64749b0279dls3257697a12.1.-pod-prod-06-eu; Sun, 30 Nov 2025 01:27:52 -0800 (PST) X-Received: by 2002:a05:6402:1471:b0:640:9993:3cb8 with SMTP id 4fb4d7f45d1cf-64555b86c99mr33793355a12.5.1764494871848; Sun, 30 Nov 2025 01:27:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1764494871; cv=none; d=google.com; s=arc-20240605; b=PqVoWtbvVLXXxrT6HFduD1NjOZuAjvdyKqPRHbFeHAq7JitFLh2Y+PlM/23Pd2VIeF oGYRlcCx5K8hqMH7KLcZgsEhY20thhRTv1bRvD1b3xAqmS9sia1Dodrzm0Uc+EQ7RofC Oswm1QVuSwYTfPk7tMumkF+Yq5RQ/aXYhBFc7hKw0c1uD+V9uBs/WQVQYgb/dmYcom6X VEBTT5Av/rJ/u1Yy9MYL1HsHGgCMF282sxtIFO+Q2wTz3Xgtz/yn/KSc6HNUcP6JW7Q+ GVOrFW4rLC/iXfcZWm7+LjpTxW+C/9Gn+zXtGzhpQ0RtEzgOiY0RE07E4CAYefK08ee6 6+dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=Lb32pZR873nvsp1E62i68sH1e50R08T+2IlIUeHZR0Q=; fh=hOBXq6nisExkIRIwN8IDOmOCLKwX8PM0ANlxQbNMEqA=; b=P8uPkaMJ9AKjfVYyvJ+/SbppgW++NKSLt5H8QDWqh9fAeGQL88HNTG5jKDhIpATGMw Dja30gkrcJ4TnubPY3hXOEiNM6vgEPr8CXrfWrYX/OFvB9Wz6zvA150ClQL2GJgf1MTm wVm12rS+kGkamEPk9Db0aVJtXEdXX8eIxohMX9N3sWjh2aFwJIvSShEyJixFwpn3VS+v sDR0hy3R8OmnW4UbZP1SiGe4LSrxiLfmVtageEoBE/CZ6Cg/m0JdGXAFuCybJG0xTYqQ pdGrpT5SeSBi+AL/9+w9zJv3k7CObEIHibJ9zUwEQUzKJKu1lUsFxLZ57vEZWsYxHOux pQFA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Q4PChdBD; spf=pass (google.com: domain of fm-294854-20251130092751668f60134d00020719-tqmngv@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-294854-20251130092751668f60134d00020719-tqmngV@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id 4fb4d7f45d1cf-6475101eaeasi144137a12.4.2025.11.30.01.27.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Nov 2025 01:27:51 -0800 (PST) Received-SPF: pass (google.com: domain of fm-294854-20251130092751668f60134d00020719-tqmngv@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20251130092751668f60134d00020719 for ; Sun, 30 Nov 2025 10:27:51 +0100 X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH v3 23/27] initramfs-hook: Migrate to a bbclass Date: Sun, 30 Nov 2025 10:27:43 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-294854:519-21489:flowmailer X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Q4PChdBD; spf=pass (google.com: domain of fm-294854-20251130092751668f60134d00020719-tqmngv@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-294854-20251130092751668f60134d00020719-tqmngV@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka 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-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Jan Kiszka "inherit initramfs-hook" is shorter and a more common pattern compared to OE/yocto. Keep the original .inc file as transitional helper, issuing a warning when it's used with a migration suggestion. Signed-off-by: Jan Kiszka --- doc/user_manual.md | 5 +- .../initramfs-hook.bbclass} | 5 +- .../recipes-initramfs/initramfs-hook/hook.inc | 82 ++----------------- 3 files changed, 11 insertions(+), 81 deletions(-) copy meta/{recipes-initramfs/initramfs-hook/hook.inc => classes-recipe/initramfs-hook.bbclass} (94%) diff --git a/doc/user_manual.md b/doc/user_manual.md index 20f84f69..4e78d033 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -1716,9 +1716,8 @@ image with a separately built one. ### Creating initramfs-tools hooks To create an initramfs hook that adds tools or modules to the image and may -also run custom scripts during boot, use the include file -`recipes-initramfs/initramfs-hook/hook.inc`. It is controlled via a number of -variables: +also run custom scripts during boot, use the `initramfs-hook` class. It is +controlled via a number of variables: - `HOOK_PREREQ` defines the prerequisites for running the hook script. - `HOOK_ADD_MODULES` passes the provided modules names to the diff --git a/meta/recipes-initramfs/initramfs-hook/hook.inc b/meta/classes-recipe/initramfs-hook.bbclass similarity index 94% copy from meta/recipes-initramfs/initramfs-hook/hook.inc copy to meta/classes-recipe/initramfs-hook.bbclass index c80b781d..ef3ae06e 100644 --- a/meta/recipes-initramfs/initramfs-hook/hook.inc +++ b/meta/classes-recipe/initramfs-hook.bbclass @@ -1,5 +1,5 @@ # -# Copyright (c) Siemens AG, 2024 +# Copyright (c) Siemens AG, 2024-2025 # # Authors: # Jan Kiszka @@ -7,10 +7,9 @@ # SPDX-License-Identifier: MIT # -FILESPATH:append := ":${FILE_DIRNAME}/files" - inherit dpkg-raw +FILESPATH:append = ":${LAYERDIR_core}/recipes-initramfs/initramfs-hook/files" SRC_URI = " \ file://hook-header.tmpl \ file://script-header.tmpl" diff --git a/meta/recipes-initramfs/initramfs-hook/hook.inc b/meta/recipes-initramfs/initramfs-hook/hook.inc index c80b781d..0ef89154 100644 --- a/meta/recipes-initramfs/initramfs-hook/hook.inc +++ b/meta/recipes-initramfs/initramfs-hook/hook.inc @@ -1,81 +1,13 @@ +# Transitional include for u-boot.bbclass # -# Copyright (c) Siemens AG, 2024 -# -# Authors: -# Jan Kiszka +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2025 # # SPDX-License-Identifier: MIT -# - -FILESPATH:append := ":${FILE_DIRNAME}/files" - -inherit dpkg-raw - -SRC_URI = " \ - file://hook-header.tmpl \ - file://script-header.tmpl" - -TEMPLATE_FILES = " \ - hook-header.tmpl \ - script-header.tmpl" - -TEMPLATE_VARS:append = " \ - HOOK_PREREQ \ - HOOK_ADD_MODULES \ - HOOK_COPY_EXECS \ - SCRIPT_PREREQ" - -HOOK_PREREQ ?= "" -HOOK_ADD_MODULES ?= "" -HOOK_COPY_EXECS ?= "" -SCRIPT_PREREQ ?= "" - -DEBIAN_DEPENDS = "initramfs-tools" - -def get_initramfs_hook_name(d): - name = d.getVar('BPN') - if name.startswith("initramfs-"): - name = name[10:] - if name.endswith("-hook"): - name = name[:-5] - return name - -INITRAMFS_HOOK_NAME ?= "${@get_initramfs_hook_name(d)}" - -do_install() { - if [ -f "${WORKDIR}/hook" ] || [ -n "${HOOK_COPY_EXECS}" ] || \ - [ -n "${HOOK_ADD_MODULES}" ]; then - rm -rf "${D}/usr/share/initramfs-tools/hooks" - install -d -m 0755 "${D}/usr/share/initramfs-tools/hooks" - - install -m 0755 "${WORKDIR}/hook-header" \ - "${D}/usr/share/initramfs-tools/hooks/${INITRAMFS_HOOK_NAME}" - if [ -f "${WORKDIR}/hook" ]; then - cat "${WORKDIR}/hook" >> \ - "${D}/usr/share/initramfs-tools/hooks/${INITRAMFS_HOOK_NAME}" - else - echo "exit 0" >> \ - "${D}/usr/share/initramfs-tools/hooks/${INITRAMFS_HOOK_NAME}" - fi - fi - for script in init-top init-premount local-top nfs-top local-block \ - local-premount nfs-premount local-bottom nfs-bottom \ - init-bottom; do - if [ ! -f "${WORKDIR}/$script" ] && [ ! -f "${WORKDIR}/${script}-complete" ]; then - continue - fi +inherit initramfs-hook - rm -rf "${D}/usr/share/initramfs-tools/scripts/$script" - install -d -m 0755 "${D}/usr/share/initramfs-tools/scripts/$script" - if [ -f "${WORKDIR}/${script}" ]; then - install -m 0755 "${WORKDIR}/script-header" \ - "${D}/usr/share/initramfs-tools/scripts/$script/${INITRAMFS_HOOK_NAME}" - cat "${WORKDIR}/$script" >> \ - "${D}/usr/share/initramfs-tools/scripts/$script/${INITRAMFS_HOOK_NAME}" - else - install -m 0755 "${WORKDIR}/${script}-complete" \ - "${D}/usr/share/initramfs-tools/scripts/$script/${INITRAMFS_HOOK_NAME}" - fi - done +do_warn_custom_inc() { + bbwarn "Please migrate from \"require recipes-initramfs/initramfs-hook/hook.inc\" to \"inherit initramfs-hook\"" } +addtask warn_custom_inc before do_unpack