From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7366946388798603264 X-Received: by 2002:a05:600c:1383:b0:41c:2992:a3bd with SMTP id 5b1f17b1804b1-41feac5a45fmr131650385e9.27.1715840007681; Wed, 15 May 2024 23:13:27 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:1392:b0:418:4830:9fc0 with SMTP id 5b1f17b1804b1-41fc13ea4fcls30756375e9.0.-pod-prod-06-eu; Wed, 15 May 2024 23:13:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFqOqvye7GhD2TnQ+PN1hiBqpgbPLYt6mTK6EkzfEB6cSwu6fooo1DLxXoDhEk4w7hK71im X-Received: by 2002:a7b:c4da:0:b0:41e:1f78:314d with SMTP id 5b1f17b1804b1-41feab42b5emr127660705e9.24.1715840005167; Wed, 15 May 2024 23:13:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715840005; cv=none; d=google.com; s=arc-20160816; b=YkU480f9rGpIjlQkIbC4vXP/w11L8NM+vEOCvuDiVLsvmA86ZAkhAiIP+8UI8IZu9U ec6smXfoXZGiXDjlAHouKug7U8OfbasjJMBaI65C/YDWfRf1D7Uq/8Nck47wfOwwj1UC NWI9J397pRJ2E70F1RSITenh3nDX8cGREGqhfdU5IbCNQDiujJ90i+XEZEk35v7xww6r OhfPBf0fsJQh4sR+etHnqc3d9xeZ/13Gb8kLbVukeZMuGs0IG/BiwXP42XTa6eZJKz4H zcipfgLajgJ1ltUH1fPoxOZfvwbD/QUt8WkOtY3TChrwTm1wAdkETiDVmjxJs6fkzYZQ GZJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=N7YIK+hL1+XAUR0acdyckKf4gD9R7hxldkRm6iFzWkE=; fh=qxj0qH++O2CSqXuHk1zmqR74UpYndUvoWfavR7y1BqY=; b=qrRLsCapjMwi+2cLMcaHiFkVbeg5Bt3SSmU7KHnlV5icx36xvIvcNck5nKRp+ohlVY uj+2o3QggGIzCEecOd+xRTlZFOjW0hdag+ZRPwXToQBtzKLX3r5RkCwI7z7JW6j6q+pK /ib9t4W1wKUNMnYrKTfChlsj8S4yrdWQOJK3QdxwcNsT8Qzcp22dzPscNHgJTY14J+VM MMvzOlCyJnd1VCkM4MDzsMesi+ghyiQJ8vO1FoSQGz4TwA1NF0Dh9d2vAmS6PNZehQpn qxA3XYwbjpUzWEem0a7diXqqVpu4Q1KdimQpi8EBXAU3jkDtb6GyYOQKutcU9fP2QYJw PZUg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=JrBABLWa; spf=pass (google.com: domain of fm-526363-202405160613245f21056bc6a29ae125-vlsma2@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-526363-202405160613245f21056bc6a29ae125-vlsMa2@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: 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 5b1f17b1804b1-4200fa0e6aesi10264205e9.0.2024.05.15.23.13.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 May 2024 23:13:25 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-526363-202405160613245f21056bc6a29ae125-vlsma2@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=JrBABLWa; spf=pass (google.com: domain of fm-526363-202405160613245f21056bc6a29ae125-vlsma2@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-526363-202405160613245f21056bc6a29ae125-vlsMa2@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 202405160613245f21056bc6a29ae125 for ; Thu, 16 May 2024 08:13:24 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=adriaan.schmidt@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=N7YIK+hL1+XAUR0acdyckKf4gD9R7hxldkRm6iFzWkE=; b=JrBABLWam4MtagsMuFfzEN+gKNjrukTdyghU8XZi9NIIWdJXuJEN6iEqWBYCV/xccf9O1e vOx8W3fMFiT6+zn2AUsNu2hkR1DeMbDt1SMCCF1Mm2upbE33/A/SW2YE1m/ZElIeZZfO0jVd umCtR2M+e76Oo3KX7/TyhVPFEv7IM=; From: Adriaan Schmidt To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, stefan-koch@siemens.com, Adriaan Schmidt Subject: [PATCH v5 1/3] module.inc: fix kbuild dependency Date: Thu, 16 May 2024 08:13:18 +0200 Message-Id: <20240516061320.3015697-2-adriaan.schmidt@siemens.com> In-Reply-To: <20240516061320.3015697-1-adriaan.schmidt@siemens.com> References: <20240516061320.3015697-1-adriaan.schmidt@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-526363:519-21489:flowmailer X-TUID: zIQEsw4Ouf/3 This achieves two things: * Module builds now depend on linux-headers-*-native as build dependency. This is a minimal API change compared to the previous linux-headers-*. The dependency on the new linux-kbuild is kept hidden in linux-custom.inc * Remove the unconditional building of native kbuild when it is not needed, i.e. when we're not actually cross-building a module Signed-off-by: Jan Kiszka Signed-off-by: Adriaan Schmidt --- meta/recipes-kernel/linux-module/module.inc | 2 +- meta/recipes-kernel/linux/linux-custom.inc | 25 ++++++++++++++------- meta/recipes-kernel/linux/linux-distro.bb | 3 +++ 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/meta/recipes-kernel/linux-module/module.inc b/meta/recipes-kernel/linux-module/module.inc index eddbf177..229e6a5c 100644 --- a/meta/recipes-kernel/linux-module/module.inc +++ b/meta/recipes-kernel/linux-module/module.inc @@ -17,7 +17,7 @@ PN .= "-${KERNEL_NAME}" KERNEL_IMAGE_PKG ??= "linux-image-${KERNEL_NAME}" KERNEL_HEADERS_PKG ??= "linux-headers-${KERNEL_NAME}" -DEPENDS += "${KERNEL_HEADERS_PKG}" +DEPENDS += "${KERNEL_HEADERS_PKG}-native" DEBIAN_BUILD_DEPENDS = "${KERNEL_HEADERS_PKG}" SIGNATURE_KEYFILE ??= "" diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc index 0d222332..7b752f2b 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -116,11 +116,19 @@ HEADERS_DEPENDS:cross-profile = ", linux-kbuild-${KERNEL_NAME_PROVIDED}:${HOST_A # -native: kbuild package for host BUILD_PROFILES:class-native = "kbuild" -RECIPE_PROVIDES:class-native = "linux-kbuild-${KERNEL_NAME_PROVIDED}-native" +RECIPE_PROVIDES:class-native = " \ + linux-headers-${KERNEL_NAME_PROVIDED} \ + linux-kbuild-${KERNEL_NAME_PROVIDED}" +# Use pseudo target to pull in the base variant of the recipe. +# Will be auto-extended with -native by multiarch.bbclass. +RDEPENDS:class-native += "${BPN}-pseudo" # -kbuildtarget: kbuild package for target, enforcing non-cross-build BUILD_PROFILES:class-kbuildtarget = "kbuild" -RECIPE_PROVIDES:class-kbuildtarget = "linux-kbuild-${KERNEL_NAME_PROVIDED}" +RECIPE_PROVIDES:class-kbuildtarget = " \ + linux-headers-${KERNEL_NAME_PROVIDED} \ + linux-kbuild-${KERNEL_NAME_PROVIDED}" +RDEPENDS:class-kbuildtarget = "${BPN}" ISAR_CROSS_COMPILE:class-kbuildtarget = "0" # Make bitbake know we will be producing linux-image and linux-headers packages @@ -132,11 +140,15 @@ RECIPE_PROVIDES = " \ linux-libc-dev-${DISTRO_ARCH}-cross \ linux-image-${KERNEL_NAME_PROVIDED}-dbg \ linux-kbuild-${KERNEL_NAME_PROVIDED} \ + ${BPN}-pseudo-native \ " # When cross-profile is active: -# kbuild package is provided by -native or -kbuildtarget variant -# Otherwise it's provided by the default variant -RECIPE_PROVIDES:remove:cross-profile = "linux-kbuild-${KERNEL_NAME_PROVIDED}" +# kbuild package is provided by -native or -kbuildtarget variant. Also headers +# provisioning moves over to ensure those variants are pulled, although the +# package itself is still built by the base recipe. +RECIPE_PROVIDES:remove:cross-profile = " \ + linux-headers-${KERNEL_NAME_PROVIDED} \ + linux-kbuild-${KERNEL_NAME_PROVIDED}" # Append headers depends HEADERS_DEPENDS = ", linux-kbuild-${KERNEL_NAME_PROVIDED}" @@ -148,9 +160,6 @@ PROVIDES += "${RECIPE_PROVIDES}" # Append build profiles DEB_BUILD_PROFILES += "${BUILD_PROFILES}" -# Add dependency to build -kbuildtarget and -native automatically -RDEPENDS:append:cross-profile = " ${BPN}-native" - def get_kernel_arch(d): distro_arch = d.getVar("DISTRO_ARCH") if distro_arch in ["amd64", "i386"]: diff --git a/meta/recipes-kernel/linux/linux-distro.bb b/meta/recipes-kernel/linux/linux-distro.bb index bc43528c..16673b67 100644 --- a/meta/recipes-kernel/linux/linux-distro.bb +++ b/meta/recipes-kernel/linux/linux-distro.bb @@ -10,8 +10,11 @@ python() { for kernel in distro_kernels.split(): d.appendVar('PROVIDES', ' linux-image-' + kernel) d.appendVar('PROVIDES', ' linux-headers-' + kernel) + d.appendVar('PROVIDES', ' linux-kbuild-' + kernel) if d.getVar('KERNEL_IMAGE_PKG'): d.appendVar('PROVIDES', ' ' + d.getVar('KERNEL_IMAGE_PKG')) if d.getVar('KERNEL_HEADERS_PKG'): d.appendVar('PROVIDES', ' ' + d.getVar('KERNEL_HEADERS_PKG')) } + +inherit multiarch -- 2.39.2