diff options
| -rw-r--r-- | eclass/dist-kernel-utils.eclass | 18 | ||||
| -rw-r--r-- | eclass/kernel-install.eclass | 2 |
2 files changed, 16 insertions, 4 deletions
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass index 0b0eb0ec8818..bb058d488a13 100644 --- a/eclass/dist-kernel-utils.eclass +++ b/eclass/dist-kernel-utils.eclass @@ -160,7 +160,7 @@ dist-kernel_PV_to_KV() { } # @FUNCTION: dist-kernel_get_module_suffix -# @USAGE: <kernel_dir> +# @USAGE: <kernel_config> # @DESCRIPTION: # Returns the suffix for kernel modules based on the CONFIG_MODULES_COMPESS_* # setting in the kernel config and USE=modules-compress. @@ -169,7 +169,7 @@ dist-kernel_get_module_suffix() { [[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments" - local config=${1}/.config + local config=${1} if ! in_iuse modules-compress || ! use modules-compress; then echo .ko @@ -198,7 +198,19 @@ dist-kernel_compressed_module_cleanup() { [[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments" local path=${1} - local preferred=$(dist-kernel_get_module_suffix "${path}/source") + local config_path=/usr/src/linux-${KV_FULL}/.config + + local option + for option in config source/.config build/.config; do + if [[ -f ${path}/${option} ]]; then + config_path=${path}/${option} + break + fi + done + + local preferred= + [[ -f ${config_path} ]] && preferred=$(dist-kernel_get_module_suffix "${config_path}") + local basename suffix while read -r basename; do diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index c64dd673084b..496e258815d2 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -769,7 +769,7 @@ kernel-install_compress_modules() { if [[ -z ${KV_FULL} ]]; then KV_FULL=${PV}${KV_LOCALVERSION} fi - local suffix=$(dist-kernel_get_module_suffix "${ED}/usr/src/linux-${KV_FULL}") + local suffix=$(dist-kernel_get_module_suffix "${ED}/usr/src/linux-${KV_FULL}/.config") local compress=() # Options taken from linux-mod-r1.eclass. # We don't instruct the compressor to parallelize because it applies |
