genkernel package installs source codes into /usr/share/genkernel/disfiles directory. This directory for sys-kernel/genkernel-4.2.6-r2 has ~174 MiB: > equery s genkernel > * sys-kernel/genkernel-4.2.6-r2 > Total files : 456 > Total size : 173.04 MiB Directory <distfiles> have 170MiB: > C_ALL=en_US du /usr/share/genkernel/distfiles > 170M /usr/share/genkernel/distfiles > 170M total All this sources - are the same, as in DISTDIR="/var/cache/distfiles" (from make.conf). Reproducible: Always Actual Results: Dublicates of files in /usr/share/genkernel/distfiles and in DISTDIR="/var/cache/distfiles". Expected Results: Source code must be stored only in single copy under $DISTDIR (from make.conf) directory. I rebuild my kernel after normal system update. But have troubles in genkernel, which needs to rebuild LLVM2 package, but build fails with an error: > ld.lld: error: unable to find library -l:libunwind.a My system have sys-fs/lvm2-2.03.14, but genkernel rebuild initramfs with 2.2.02.188 version. At now, portage does not have 2.2.02.188 version, but have 2.02.188-r2 (current stable version). genkernel build initramfs exactly with llvm-2.2.02.188 version, even main system have 2.02.188-r2 or 2.03.14 versions. I think, that this error may be resolved by switching genkernel to use newest version of lvm package. Please: 1) Remove source code archives from genkernel program directories. 2) Use packages, which needs for build initramfs, directly from portage tree, not by local copy. This allows: - save disk space$ - build initramfs without errors from old and bugged versions of required packages.
Workaround: migrate to dracut
See also /etc/genkernel.conf:DISTDIR="${GK_SHARE}/distfiles"