On 1/30/24 06:07, Andrew Ammerlaan wrote:
 From 3a3a69379650af341fa318d8f2d1533885b52d0e Mon Sep 17 00:00:00 2001
From: Andrew Ammerlaan <andrewammerl...@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 <andrewammerl...@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     : mpag...@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


Reply via email to