From patchwork Fri Apr 11 20:08:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christopher Larson X-Patchwork-Id: 4169 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 11 Apr 2025 22:09:38 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f61.google.com (mail-ed1-f61.google.com [209.85.208.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 53BK9c06019775 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 11 Apr 2025 22:09:38 +0200 Received: by mail-ed1-f61.google.com with SMTP id 4fb4d7f45d1cf-5edc07c75efsf2291917a12.1 for ; Fri, 11 Apr 2025 13:09:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1744402173; cv=pass; d=google.com; s=arc-20240605; b=d0YyvxBm1OdRhhMQJSI9Qu9yzqCl8yM8L7ZLiMGI7w4QsLlUyIbTJWHgURhFoalaUu U4yaL4nMT37VtiN3FwdZA2FVd50lMpFsUWf9dd42UL3Cf58+wn6IirmnyWQ9ptGJBV3B NYpa4mHYU2vsjs84WuiRmWo3k1SD8BmD/sGPHQw7ErQjOUDTduVcq20gQWrgKVfDYglq qJzdqSHl6u11EYpcmsZ/t1RQwXHG2W/JU/halI/Px7J+R8gUbO/m9q0ijo5oYgWwP/rw clACkGutdUtgk8sG8KWSR5EIvejUhBn34rdNSsFrGR7bEaQY4d8ebrFsH/11BAgj/ymE rLlQ== 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:cc:to:from :dkim-signature; bh=+braVfvD9E1NxMYwTEtgByWel7jGEXceg1LJitrPm0k=; fh=uwtMko4Rv4sztpBoTCYpNsOizpLPaC5zlH/xLbbITnc=; b=RfnER7IZfASyEqvCUnKSBQ5eRZ8kqRh2ZOl2Gt4aSHECFtk1pq23Nl+ZyaVYIIiVze GLPojlcT4CeRSLpJ20P2yXDVB/80RZ8F2NLNP+XR/gz73zBhlfhtBEmXw4tZP9kJD/Yl c69RvLrl4fBvSqFPTJw9TGgJAO/aqld235akxPqfqbcpqjo5zH3MQm43fNmOkYvZClO7 OnOpeZ5M/g+eGhyZRoZxYNTDoBa+OcloJBn+ntHMHfrz3qwwi2yOMYZTG1dRmQsEQs40 UFMn15y9omfTQRqFV//05H94N7Dx5zwUmfZV8NhkFxYSWYsNZAVzMszXxRY87rdrSbYo Wf3Q==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=bmBASdfJ; spf=pass (google.com: domain of fm-1325773-20250411200929cf996046120eeede96-z7mgdc@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1325773-20250411200929cf996046120eeede96-z7mGdC@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=1744402173; x=1745006973; 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:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=+braVfvD9E1NxMYwTEtgByWel7jGEXceg1LJitrPm0k=; b=WX0byER2LHq/xwFGpXURtaCAOVdiwX0vEvHd3yK2bSTH8QethSQxCt05hZ495NDT9V Z0XZo1KJzdCclUjIlfmwbL1CXktgURSc21BkgJKU34y4m87+gcCw5y0XKG6mwWcow7YE hfn4iioRnzGj4uzXzDo8k9y5zWmrAeMtiLoqiVnf4Zi+A+F8ua9ldIp7RtHXawK0ubgB RtNViC3IF16Cbw3GUXsP7aao4KJ4wGEurKVXJ8Scm7x3GHuP+0aTiwa5FLdNzJROPLF2 e6QrqlI7+WjSp79TNgGtktlxxK1X9XKilOUQb43tjmkkCr8VhKQJoD7+ELKXU/wzSRa1 frHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744402173; x=1745006973; 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:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+braVfvD9E1NxMYwTEtgByWel7jGEXceg1LJitrPm0k=; b=Qa3SFFMZ4JiYZyW7cnJnOy/h3j+q/TVhaHPBvO/+7l+09ed5KaVJ534kwPKCt+ZfzA 4EkCoul3w7bqyHkuCcGGrTR28dqzU4Aha4Yf64Oo0P3WwiqQ9HLq3QtU/gNi90w9re19 egpjcOcKz2cTerqzku43y/DnlZsMAvCQ8wsgNXFfr15WZsmPB9I63p/LFg6VJ0cndRXz 67bmhuiwOVzy6R9K9djbLwOiiisZfaTm8U0mAhYrJ+pk8dTbJGgKHG3jM+0rO/y+z3/9 OKABesKAo8a149kYCQjsTMFFAMDAB97KVcwpFCWxOH6EmiqstrqHB5vfNXCS8gNqWbpM s6vg== X-Forwarded-Encrypted: i=2; AJvYcCXd4u1r0aRQFhQKRuSy2bJ0gM0W0L029eZeCjt1VfdK4P7bK5yx9Py9iRujgKZH72r4nwD7HyQ=@isar-build.org X-Gm-Message-State: AOJu0Yz8E/Uj20uAZ+IEHGFkcP02Z2T/hPVG9mgVvRaF9pIDneDMadk7 LVJUIqvjj+r9pMbzzDvBL/TCSA/XbfDz3GzCm68JGIjfOrQFDzbR X-Google-Smtp-Source: AGHT+IEIq2Kx5mtN+GXZx5TQFWLWHI8/vmXbwChjtFU3MwT5rrqVtoYqhzkAkdVFaYyKpx71k4j23g== X-Received: by 2002:a05:6402:210f:b0:5eb:ca97:7c60 with SMTP id 4fb4d7f45d1cf-5f36f52b966mr3288368a12.6.1744402172018; Fri, 11 Apr 2025 13:09:32 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPALEWarQpV67aYeO899Vbbg56kBW22ADPLxgxN+jZcF6gQ== Received: by 2002:a50:9f48:0:b0:5e7:7251:5a1a with SMTP id 4fb4d7f45d1cf-5f3276090f9ls191745a12.1.-pod-prod-03-eu; Fri, 11 Apr 2025 13:09:29 -0700 (PDT) X-Received: by 2002:a17:906:f584:b0:ac7:7f1f:c3d9 with SMTP id a640c23a62f3a-acad34c99cfmr295001366b.30.1744402169409; Fri, 11 Apr 2025 13:09:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744402169; cv=none; d=google.com; s=arc-20240605; b=do80Z6CdHKXWSKlo0vnYSDUA5nNRPQkD+kGMh/USEWi+It4o1ys/5JQvBXFdgcCi6d J3nwyALnfc/szNEUeRfS4rk/YNO7SJlFpnofy5fZeQ3v6VJrW+1PmUbsPJYstL5+S3Qu MY+OvVh4jfCwgvuEDdHWfThAU6/sMZQAQqSpDJrH2xILavl1oA12NYnt52nRFbNBQXXs q7h0lHIaiTb3HoV9MJRW73CaQKY9OiPcDoJgFodaXTdZboLEWRAeb2xsv/pgMWkxu8ki 5xPRZik8Ryk8xRxT5tEBG0hlr1KNYdV+VeHhQfT/THdNTnUs29JA0YSA5HvdU/tzYhNc eqtA== 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:cc:to:from:dkim-signature; bh=m4nflFLQF3sCkaamaSSH14Sp0SRROokG/DgHHp2GJmU=; fh=bxwHoRtzgcBE20fsluyIAvpVkk49eQhu61r0Hn3s3Yc=; b=YeDHEDufWo8dbUieK1dyptzKLIZQVND4KWCG+WKk5MTL8juXS5PlQIyEBv9LM170aQ 1al6RhXG2lB/STlb74JxDY53+2BHK/ijTromUfHcYOY/woR+AvuM8OxpKPvMr7OYHJWC mOQQ4Km2CuJp6wSCZtO7PiKfcO1EvTQG0kUyv+2ZrPR1NoKmxLiVXsFgl4AiztA4bvXq eE6pqBYRcjcgPsfNAvZ7tp8Nem1v+QFMoSeXmgu03f64FTvh4444jserBtkQQ1GqBUzz MRCluTqKLN97VgXD8NeFgysm4zH0iRvYgRacNWk+wlb5wUzmJIyQoHRkPAgXRyG8/65i YjSg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=bmBASdfJ; spf=pass (google.com: domain of fm-1325773-20250411200929cf996046120eeede96-z7mgdc@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1325773-20250411200929cf996046120eeede96-z7mGdC@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id a640c23a62f3a-acaa19a0698si14173666b.0.2025.04.11.13.09.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Apr 2025 13:09:29 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1325773-20250411200929cf996046120eeede96-z7mgdc@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20250411200929cf996046120eeede96 for ; Fri, 11 Apr 2025 22:09:29 +0200 X-Patchwork-Original-From: "chris.larson via isar-users" From: Christopher Larson To: isar-users@googlegroups.com Cc: Cedric Hombourger , Christopher Larson Subject: [PATCH 1/4] per-kernel.bbclass: add class Date: Fri, 11 Apr 2025 13:08:49 -0700 Message-ID: <20250411200852.51967-2-chris.larson@siemens.com> In-Reply-To: <20250411200852.51967-1-chris.larson@siemens.com> References: <20250411200852.51967-1-chris.larson@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1325773:519-21489:flowmailer X-Original-Sender: chris.larson@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=bmBASdfJ; spf=pass (google.com: domain of fm-1325773-20250411200929cf996046120eeede96-z7mgdc@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1325773-20250411200929cf996046120eeede96-z7mGdC@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: chris.larson@siemens.com Reply-To: chris.larson@siemens.com 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: Christopher Larson Add support for generation of per-kernel recipe variants. This aids in the ability for a MACHINE to support multiple kernels, by allowing us to generate per-kernel packages in recipes like external kernel modules. A new variable KERNEL_NAMES will list the kernels for which variants will be generated. For any kernels listed other than KERNEL_NAME, a variant of the recipe will be produced, to generate a package or packages for that kernel. In each variant, the KERNEL_NAME variable will be set to the kernel name for which the variant is being built, and the `kernel-` override will be added, allowing for further metadata customization on a per-kernel basis. Signed-off-by: Christopher Larson --- meta/classes/per-kernel.bbclass | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 meta/classes/per-kernel.bbclass diff --git a/meta/classes/per-kernel.bbclass b/meta/classes/per-kernel.bbclass new file mode 100644 index 00000000..8abe117f --- /dev/null +++ b/meta/classes/per-kernel.bbclass @@ -0,0 +1,35 @@ +# Generate per-kernel recipe variants +# +# Recipes which are specific to a specific kernel currently append KERNEL_NAME to the PN, +# and depend on and target that specific kernel. For a machine which supports and builds +# multiple kernel images, there is a need to generate a variant of the recipe for each +# kernel image. +# +# Each variant listed in KERNEL_NAMES will add `kernel-` to the OVERRIDES variable, and +# `per-kernel:` to the BBCLASSEXTEND variable. In addition, KERNEL_NAME will be +# set to the kernel name for the current variant. +# +# Copyright (c) Siemens AG, 2025 +# SPDX-License-Identifier: MIT + +OVERRIDES .= ":kernel-${KERNEL_NAME}" + +KERNEL_NAMES ?= "${KERNEL_NAME}" +BBCLASSEXTEND += "${@' '.join(f'per-kernel:{kernel}' for kernel in d.getVar('KERNEL_NAMES').split() if kernel != d.getVar('KERNEL_NAME'))}" + +python per_kernel_virtclass_handler() { + orig_pn = d.getVar('PN') + + d = e.data + extend = d.getVar('BBEXTENDCURR') or '' + variant = d.getVar('BBEXTENDVARIANT') or '' + if extend != 'per-kernel': + return + elif variant == '': + d.appendVar('PROVIDES', f' {orig_pn}') + return + + d.setVar('KERNEL_NAME', variant) +} +addhandler per_kernel_virtclass_handler +per_kernel_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"