commit:     b86d9482f6ff14401970092b3034ef1cc2813163
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 11 20:13:23 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 13 19:57:55 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b86d9482

kernel-build.eclass: use pbzip2/lbzip2 for parallel compression if available

Note that this will only take effect if compressing
modules with bzip2 (COMPRESS_MODULE_BZIP2 is set) or
compressing the kernel with bzip2 (CONFIG_KERNEL_BZIP2 is set).

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/kernel-build.eclass | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index faf36d763d08..cc99298811bc 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -98,13 +98,19 @@ kernel-build_src_configure() {
                export ZSTD_NBTHREADS="$(makeopts_jobs)"
        fi
 
-       # pigz needs to take an argument, not an env var,
-       # for its options, which won't work because of how the kernel build 
system
+       # pigz/pbzip2/lbzip2 all need to take an argument, not an env var,
+       # for their options, which won't work because of how the kernel build 
system
        # uses the variables (e.g. passes directly to tar as an executable).
        if type -P pigz ; then
                MAKEARGS+=( KGZIP="pigz" )
        fi
 
+       if type -P pbzip2 ; then
+               MAKEARGS+=( KBZIP2="pbzip2" )
+       elif type -P lbzip2 ; then
+               MAKEARGS+=( KBZIP2="lbzip2" )
+       fi
+
        restore_config .config
        [[ -f .config ]] || die "Ebuild error: please copy default config into 
.config"
 

Reply via email to