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