public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH] linux-mod-r1.eclass: warn if KV does not match virtual/dist-kernel
@ 2024-01-30 11:07 Andrew Ammerlaan
  2024-01-30 22:41 ` Mike Pagano
  0 siblings, 1 reply; 2+ messages in thread
From: Andrew Ammerlaan @ 2024-01-30 11:07 UTC (permalink / raw)
  To: gentoo-dev

 From 3a3a69379650af341fa318d8f2d1533885b52d0e Mon Sep 17 00:00:00 2001
From: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Date: Mon, 29 Jan 2024 10:58:11 +0100
Subject: [PATCH] linux-mod-r1.eclass: warn if KV does not match
  virtual/dist-kernel

We have no mechanism to ensure that we build the kernel modules for
the same kernel version as the version we will record in the 
virtual/dist-kernel
subslot dependency. This does not fix this problem, but it does add a 
warning
to ensure users are aware that, for example, built binpkgs are going to have
wrong dependency metadata.

Bug: https://bugs.gentoo.org/923025
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
---
  eclass/linux-mod-r1.eclass | 20 +++++++++++++++++++-
  1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 67a4b64eb4815..8d384c2b30c88 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2

  # @ECLASS: linux-mod-r1.eclass
@@ -650,6 +650,24 @@ _modules_prepare_kernel() {
  	fi

  	linux-info_pkg_setup
+
+	if use dist-kernel &&
+		! has_version "~virtual/dist-kernel-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+	then
+		ewarn
+		ewarn "The kernel modules in ${CATEGORY}/${PN} are being built for"
+		ewarn "kernel version ${KV_FULL}. But this does not match the"
+		ewarn "installed version of virtual/dist-kernel."
+		ewarn
+		ewarn "If this is not intentional, the problem may be corrected by"
+		ewarn "using \"eselect kernel\" to set the default kernel version to"
+		ewarn "the same version as the installed version of virtual/dist-kernel."
+		ewarn
+		ewarn "If the distribution kernel is being downgraded, ensure that"
+		ewarn "virtual/dist-kernel is also downgraded to the same version"
+		ewarn "before rebuilding external kernel modules."
+		ewarn
+	fi
  }

  # @FUNCTION: _modules_prepare_sign


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [gentoo-dev] [PATCH] linux-mod-r1.eclass: warn if KV does not match virtual/dist-kernel
  2024-01-30 11:07 [gentoo-dev] [PATCH] linux-mod-r1.eclass: warn if KV does not match virtual/dist-kernel Andrew Ammerlaan
@ 2024-01-30 22:41 ` Mike Pagano
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Pagano @ 2024-01-30 22:41 UTC (permalink / raw)
  To: gentoo-dev

On 1/30/24 06:07, Andrew Ammerlaan wrote:
>  From 3a3a69379650af341fa318d8f2d1533885b52d0e Mon Sep 17 00:00:00 2001
> From: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
> Date: Mon, 29 Jan 2024 10:58:11 +0100
> Subject: [PATCH] linux-mod-r1.eclass: warn if KV does not match
>   virtual/dist-kernel
> 
> We have no mechanism to ensure that we build the kernel modules for
> the same kernel version as the version we will record in the 
> virtual/dist-kernel
> subslot dependency. This does not fix this problem, but it does add a 
> warning
> to ensure users are aware that, for example, built binpkgs are going to 
> have
> wrong dependency metadata.
> 
> Bug: https://bugs.gentoo.org/923025
> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
> ---
>   eclass/linux-mod-r1.eclass | 20 +++++++++++++++++++-
>   1 file changed, 19 insertions(+), 1 deletion(-)
> 
> diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
> index 67a4b64eb4815..8d384c2b30c88 100644
> --- a/eclass/linux-mod-r1.eclass
> +++ b/eclass/linux-mod-r1.eclass
> @@ -1,4 +1,4 @@
> -# Copyright 2023 Gentoo Authors
> +# Copyright 2023-2024 Gentoo Authors
>   # Distributed under the terms of the GNU General Public License v2
> 
>   # @ECLASS: linux-mod-r1.eclass
> @@ -650,6 +650,24 @@ _modules_prepare_kernel() {
>       fi
> 
>       linux-info_pkg_setup
> +
> +    if use dist-kernel &&
> +        ! has_version 
> "~virtual/dist-kernel-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
> +    then
> +        ewarn
> +        ewarn "The kernel modules in ${CATEGORY}/${PN} are being built 
> for"
> +        ewarn "kernel version ${KV_FULL}. But this does not match the"
> +        ewarn "installed version of virtual/dist-kernel."
> +        ewarn
> +        ewarn "If this is not intentional, the problem may be corrected 
> by"
> +        ewarn "using \"eselect kernel\" to set the default kernel 
> version to"
> +        ewarn "the same version as the installed version of 
> virtual/dist-kernel."
> +        ewarn
> +        ewarn "If the distribution kernel is being downgraded, ensure 
> that"
> +        ewarn "virtual/dist-kernel is also downgraded to the same version"
> +        ewarn "before rebuilding external kernel modules."
> +        ewarn
> +    fi
>   }
> 
>   # @FUNCTION: _modules_prepare_sign
> 

LGTM

-- 
Mike Pagano
Gentoo Developer - Kernel Project
E-Mail     : mpagano@gentoo.org
GnuPG FP   : 52CC A0B0 F631 0B17 0142 F83F 92A6 DBEC 81F2 B137
Public Key : http://pgp.mit.edu/pks/lookup?search=0x92A6DBEC81F2B137&op=index



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-01-30 22:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-30 11:07 [gentoo-dev] [PATCH] linux-mod-r1.eclass: warn if KV does not match virtual/dist-kernel Andrew Ammerlaan
2024-01-30 22:41 ` Mike Pagano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox