commit:     0b4d79a741d1af9341923a433fe9ab9936dd0cf3
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 14 22:23:28 2022 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Sun Aug 14 22:23:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b4d79a7

linux-info.eclass: Var to not check for running kern ver or installled ver

This change was requested to have the ability to not check for either a
running or installed kernel

Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>

 eclass/linux-info.eclass | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index 8925f83b6695..82bc7fe53950 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -140,6 +140,16 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
 # A read-only variable. It's a string containing the kernel object directory, 
will be KV_DIR unless
 # KBUILD_OUTPUT is used. This should be used for referencing .config.
 
+
+# @ECLASS_VARIABLE: SKIP_KERNEL_CHECK
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Do not check for kernel sources or a running kernel version 
+# Main use-case is for chroots
+# This is a user flag and should under _no circumstances_ be set in the ebuild.
+: ${SKIP_KERNEL_CHECK:=""}
+
 # And to ensure all the weirdness with crosscompile
 inherit toolchain-funcs
 [[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver
@@ -339,6 +349,9 @@ linux_config_path() {
 # This function verifies that the current kernel is configured (it checks 
against the existence of .config)
 # otherwise it dies.
 require_configured_kernel() {
+
+       [[ -n ${SKIP_KERNEL_CHECK} ]] && return
+
        if ! use kernel_linux; then
                die "${FUNCNAME}() called on non-Linux system, please fix the 
ebuild"
        fi
@@ -489,6 +502,8 @@ get_version() {
 
        local tmplocal
 
+       [[ -n ${SKIP_KERNEL_CHECK} ]] && return
+
        # no need to execute this twice assuming KV_FULL is populated.
        # we can force by unsetting KV_FULL
        [ -n "${KV_FULL}" ] && return 0
@@ -697,6 +712,9 @@ check_kernel_built() {
        fi
 
        # if we haven't determined the version yet, we need to
+
+       [[ -n ${SKIP_KERNEL_CHECK} ]] && return
+
        require_configured_kernel
 
        local versionh_path

Reply via email to