diff options
author | Mike Pagano <mpagano@gentoo.org> | 2023-05-17 18:25:22 -0400 |
---|---|---|
committer | Mike Pagano <mpagano@gentoo.org> | 2023-05-17 18:25:22 -0400 |
commit | 9f6898bdcc89290841e081b62987c764f97a506b (patch) | |
tree | 0e614600b63487c51b60323c696a1b79fc040e09 /eclass | |
parent | dev-util/idea-community: drop 2023.1.1 (diff) | |
download | gentoo-9f6898bdcc89290841e081b62987c764f97a506b.tar.gz gentoo-9f6898bdcc89290841e081b62987c764f97a506b.tar.bz2 gentoo-9f6898bdcc89290841e081b62987c764f97a506b.zip |
linux-mod.eclass: Store compression ext in variable
When the kernel configuration contains the setting
CONFIG_MODULE_COMPRESS_{GZIP,XZ,STD} we need to store
the extension for a subsequent call to modinfo.
Closes: https://bugs.gentoo.org/906303
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/linux-mod.eclass | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass index 0098dbcfc2ce..0fe8d7da4f99 100644 --- a/eclass/linux-mod.eclass +++ b/eclass/linux-mod.eclass @@ -149,6 +149,12 @@ # @DESCRIPTION: # It's a read-only variable. It contains the extension of the kernel modules. +# @ECLASS_VARIABLE: KV_OBJ_COMPRESS_EXT +# @INTERNAL +# @DESCRIPTION: +# Read-only variable. It contains the compression extension of the kernel +# modules (.xz, .gz, .zst) + case ${EAPI} in 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; @@ -385,7 +391,7 @@ generate_modulesd() { # OK so now if we have got this far, then we know we want to continue # and generate the modprobe.d file. - module_modinfo="$(modinfo -p ${currm_path}.${KV_OBJ})" + module_modinfo="$(modinfo -p ${currm_path}.${KV_OBJ}${KV_OBJ_COMPRESS_EXT})" module_config="${T}/modulesd-${currm}" ebegin "Preparing file for modprobe.d" @@ -684,6 +690,7 @@ linux-mod_src_install() { if linux_chkconfig_present MODULE_COMPRESS_XZ; then xz -T$(makeopts_jobs) --memlimit-compress=50% -q ${modulename}.${KV_OBJ} || die "Compressing ${modulename}.${KV_OBJ} with xz failed" doins ${modulename}.${KV_OBJ}.xz + KV_OBJ_COMPRESS_EXT=".xz" elif linux_chkconfig_present MODULE_COMPRESS_GZIP; then if type -P pigz &>/dev/null ; then pigz -p$(makeopts_jobs) ${modulename}.${KV_OBJ} || die "Compressing ${modulename}.${KV_OBJ} with pigz failed" @@ -691,9 +698,11 @@ linux-mod_src_install() { gzip ${modulename}.${KV_OBJ} || die "Compressing ${modulename}.${KV_OBJ} with gzip failed" fi doins ${modulename}.${KV_OBJ}.gz + KV_OBJ_COMPRESS_EXT=".gz" elif linux_chkconfig_present MODULE_COMPRESS_ZSTD; then zstd -T$(makeopts_jobs) ${modulename}.${KV_OBJ} || "Compressing ${modulename}.${KV_OBJ} with zstd failed" doins ${modulename}.${KV_OBJ}.zst + KV_OBJ_COMPRESS_EXT=".zst" else doins ${modulename}.${KV_OBJ} fi |