From patchwork Mon Nov 10 07:22:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 4572 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 10 Nov 2025 08:22:59 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f62.google.com (mail-lf1-f62.google.com [209.85.167.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5AA7MvRp015664 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 10 Nov 2025 08:22:58 +0100 Received: by mail-lf1-f62.google.com with SMTP id 2adb3069b0e04-5944d65a8f5sf1549883e87.1 for ; Sun, 09 Nov 2025 23:22:58 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1762759369; cv=pass; d=google.com; s=arc-20240605; b=Ad0goEHU5iRrZS8+qTbzouhqXouCLEfa8OJaQVcY7qYdva5V5KlAkLs9fPtN+NkI9j +cNbgE9UUCCf8/dnMMHAS8J/L7kNBPgzkH9zKw5Zb5kXS6GR9BTr1+oukGqyNqv2WXll T/Xn2dH5Qn9ZUoqC4CYlpaD9JNNWas5v95Sy2NAd09GiI8viI19Ma9Koi+66ceL3EwTC 0SPTeVoIUySgTK5n/pLAx71MKcf0fuhO25Fz9PghrwlG4XYs+zLi1vMC8A42Mkod/s16 E7i7TrSmFlu5Bi7x4CB3n9RHKIERKI0Og2sf1rB8myYDYEGzzrWMwjl2r/UmrRiQqZNJ wSYw== 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=yMX5CRAAwq2cX27MhJlbn8A9rgqDYWo3ilitG2oTdkk=; fh=XI2cOzg3dTG0UzmDhLw/60YOlijL+kvLv91zT2kKbkU=; b=bjwnwLfQAKbZCUiH++7N8unOvibS2aCgQSfjXdTe0A5XvrA6yyJ/vimbhCrg8sQBYg Y8fT7NqMWEp1Yz+va0QZtLQSl7Y0snOM6wK86FLhbhOpO7zZoxYGOgI6WfOteXDj+Ohc aII1yViTwue1hqFWsY9996E4kbRYWPm0zPypU1ITP39NYe+ahMuv976sGrYmPCMcQRE+ owwouNkE8eOSqcRHRK/+WMTGgvHFXqdEGDC5b/GDCo+0xZGqGiv+HSxTe4yLqLK5p60L rPP/7mTRSjBFj58UqidGrgX+ABQveBYKWb/iIH7KMtHuqATtnVrY4a6L3XJt9SxSh3at MuKQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=FO4nBDs2; spf=pass (google.com: domain of fm-294854-20251110072244a20f0222f2000207a1-rrcit7@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-294854-20251110072244a20f0222f2000207a1-RrCiT7@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=1762759369; x=1763364169; 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=yMX5CRAAwq2cX27MhJlbn8A9rgqDYWo3ilitG2oTdkk=; b=qVtzdRvdQX7dj6gcjrNaGQkd/s56QfySNHjh/Iih60ex+RVb+mQDBtnijsF1cy6mRU 0W4KjHkPk1PMn3ebOt6/MM/zkQjZR0Im4u76ygFltprHAtAH8DZTmYIdfwnkXC8hkLmK ibNWFl21Fop8NkJO+fZOjxWI4Jy5u3r3xoa8zErvz4x69s4VCVcWC4ntcPX+YCtc3omg l2AVfn15wLjPNeVlJry13xUIBj4zNSZnIUA6Ucbry9wkdA2HYH2OY8udKydCa6M1drtA SyGLF5SVQ34FXBW91jbxs9r8Bh5bl5VmQ9cscuCAGrNNASHDXB/JwJFXiVdWXqo2glvy 7gvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762759369; x=1763364169; 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=yMX5CRAAwq2cX27MhJlbn8A9rgqDYWo3ilitG2oTdkk=; b=Q1if0+gTRQaGOHGbxO+0CnD+xlUUm3Wbwal0pM1wjtFxGn5JSjJftZGOZ+sfpvzUnm EZm959SrwPkbBsimPafS6eYRWUGLMW24Vq3aYgGmrUFhgyFWz6l9Is7LG+YfRE2hUtc2 F2GjBo8NxQyWAazryD2oEtCyHXYPh1d/bP20S5dLVzLVnxVD62b7DAr+8t8Okm3IcFbg +3SAR3QPKRupryzmUdERs4PxgYXFNM3pDv+KnoeVT6S90C6WAZt99ujMkknwFUF0bi1C UlSxzylyzsiic1vi0Qilty3C87lgayH2dPMtPZ+Bkp21esxS6L7xEgoJ5mpYAe/d2yYE 9j6Q== X-Forwarded-Encrypted: i=2; AJvYcCVfTrBZd3hwuqMgJTgbTtt3hHfh8jBt2U6Nupgw6VlIVi1MY2B9cTIExXR/KsfUN2+1eJduvbQ=@isar-build.org X-Gm-Message-State: AOJu0Yzy+v5IsxeJKfgoQUK4aoTKVM+XUAfmyxSCegJ6K2QaRFs16hIW KOH27cgstgMQscOCfiMVjIkjsinFp3ZfNzSa+Jbr2NlsSPvx3pin0ZQM X-Google-Smtp-Source: AGHT+IEQIDsM2tIiI2F1Ec7pbRmoguHsKQLVC9zSPLBdzgm8Krj+DNaGVkwQ2chxoYpkXURHyAy3SQ== X-Received: by 2002:ac2:4c46:0:b0:594:2e37:8091 with SMTP id 2adb3069b0e04-5945f1c26famr2164638e87.48.1762759368417; Sun, 09 Nov 2025 23:22:48 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+ZkE4C+gztJuOxyoVl2DDhQWvQGcceEnEGDdOhMBk2Oow==" Received: by 2002:a05:6512:24ca:b0:594:4a6e:fd73 with SMTP id 2adb3069b0e04-5944a6efdd4ls1059292e87.0.-pod-prod-09-eu; Sun, 09 Nov 2025 23:22:45 -0800 (PST) X-Received: by 2002:a2e:6e14:0:b0:378:ccee:5bb4 with SMTP id 38308e7fff4ca-37a7b2d54a3mr14349121fa.25.1762759365237; Sun, 09 Nov 2025 23:22:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1762759365; cv=none; d=google.com; s=arc-20240605; b=FVZNwj8NzZb1SoLF8yJydZRdCDDIOe7ENKcH5Z4ux+7RJZsCufLy/BISM+my55Cx5u FwoRCQBT2ISHibyLso3bnw56oEM8gCpOYQ/5iCzwzcAQSS8m3XCsWEQx4zCNTaVAr0+9 jNaycCzVBKStbhomSE2z44GsCwJetDxngh6DWpMzLnoi3B8uP8zv3lCr+mzSSEKyKqWo lfrP9z6BeTx/m38RZfV7veWtw/8a3p+u9Nbx7CMKXqlAkJh8ecT4NLFD1p2645KE9Gz3 NcoGH93Ry3jzbkSgli0w0s+P50LQ+o6RT/KwLLioDRWF7l5PZ8m/2MUCLWgTezkBHsE2 KWyA== 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=Au9QBKL1iVDfSfo7aj3b1DAa09g8h0NRSVLIzgn1slo=; fh=hOBXq6nisExkIRIwN8IDOmOCLKwX8PM0ANlxQbNMEqA=; b=S2wye18j/7c2hc1NksVh4gAPgcNb4ENfdHais8phzkQ53mDTlSHDdI69JYA/dnJXYw ws9hXqwUoXmTZZ3wpeq0PecEzfOC2rfVfGHrC5aWHcdEiKtysXXJwnEXQa5aAlLmykVZ dJqD67ZeAZ7xtg16HhBhcd2JhR+/pz5AHyFqo5fb+z3/3CPD/AOjZegKcLW79T4/zKOK JdV+tzFZOgXvXRZLF82ZJ21HiV8I+HtDL1DzzvdQDXqYmwiGWzMhR1ZB4gBDCWm1iUys d+5ay2yMnWz79IVjGXdluhowPLLG98jJeQQpWDqQ8LNaMK7rm1Mkg4W1ftY+qxaV4YU5 eZhw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=FO4nBDs2; spf=pass (google.com: domain of fm-294854-20251110072244a20f0222f2000207a1-rrcit7@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-294854-20251110072244a20f0222f2000207a1-RrCiT7@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-37a5f0ff762si551511fa.6.2025.11.09.23.22.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 09 Nov 2025 23:22:45 -0800 (PST) Received-SPF: pass (google.com: domain of fm-294854-20251110072244a20f0222f2000207a1-rrcit7@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20251110072244a20f0222f2000207a1 for ; Mon, 10 Nov 2025 08:22:45 +0100 X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH v2 23/27] initramfs-hook: Migrate to a bbclass Date: Mon, 10 Nov 2025 08:22:36 +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=FO4nBDs2; spf=pass (google.com: domain of fm-294854-20251110072244a20f0222f2000207a1-rrcit7@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-294854-20251110072244a20f0222f2000207a1-RrCiT7@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 b577f76c..3064c17b 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -1691,9 +1691,8 @@ Debian-generated image with a separately built one. ### Creating initramfs 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