diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 38961 -> 38955 bytes | |||
-rw-r--r-- | eclass/kernel-install.eclass | 13 |
2 files changed, 9 insertions, 4 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex a9c150a66cea..bc33dc43e9fa 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index 9ab96628b5e4..2b6e80aee571 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -50,7 +50,7 @@ case ${EAPI} in *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -inherit dist-kernel-utils mount-boot toolchain-funcs +inherit dist-kernel-utils mount-boot multiprocessing toolchain-funcs SLOT="${PV}" IUSE="+initramfs test" @@ -756,9 +756,14 @@ kernel-install_compress_modules() { if use modules-compress; then einfo "Compressing kernel modules ..." - # taken from scripts/Makefile.modinst - find "${ED}/lib" -name '*.ko' -exec \ - xz --check=crc32 --lzma2=dict=1MiB {} + || die + # xz options taken from scripts/Makefile.modinst + # we don't do 'xz -T' because it applies multithreading per file, + # so it works only for big files, and we have lots of small files + # instead + find "${ED}/lib" -name '*.ko' -print0 | + xargs -0 -P "$(makeopts_jobs)" -n 128 \ + xz --check=crc32 --lzma2=dict=1MiB + assert "Compressing kernel modules failed" fi } |