Mailing List Archive

[PATCH] linux-mod-r1.eclass: warn if KV does not match virtual/dist-kernel
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
Re: [PATCH] linux-mod-r1.eclass: warn if KV does not match virtual/dist-kernel [ In reply to ]
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