summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/dist-kernel-utils.eclass18
-rw-r--r--eclass/kernel-install.eclass2
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