The ebuild for dracut does not build the file skipcpio/skipcpio and the file will be silently skipped during install phase. The skipcpio binary is needed for lsinitrd to work correctly when there's early microcode or the initrd consists of several cpio images. The trivial change to the ebuild is below. --- /usr/portage/sys-kernel/dracut/dracut-040.ebuild 2014-11-09 10:01:17.000000000 +0100 +++ sys-kernel/dracut/dracut-040-r1.ebuild 2014-11-12 04:05:46.816587429 +0100 @@ -148,7 +148,7 @@ src_compile() { tc-export CC - emake doc install/dracut-install + emake doc install/dracut-install skipcpio/skipcpio } src_install() {
Commited, thanks.
Hi, I experience problem with this fix: Files matching a file type that is not allowed: usr/lib/dracut/skipcpio
Created attachment 389556 [details] build.log
ebuild explicitly sets: MY_LIBDIR=/usr/lib --libdir=${MY_LIBDIR} There is no comment why this is done this way, so it's not evident how to fix this.
Created attachment 389587 [details, diff] 0001-Install-skipcpio-into-libexec-dir-instead-of-lib-dir.patch We have already applied patch that moves dracut-install into libexec dir. Could someone try the attached patch? Another alternative is to set QA_MULTILIB_PATHS in ebuild: QA_MULTILIB_PATHS=" usr/lib/dracut/dracut-install usr/lib/dracut/skipcpio " and drop the following patch: "Install dracut-install into libexec dir instead of lib" Amadeusz, what do you think?
(In reply to Peter Volkov from comment #4) This is similar to udev, systemd, etc. And we already have exceptions for them: # grep MULTILIB_STRICT_EXEMPT /var/cache/portage/tree/profiles/features/multilib/make.defaults MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec)" Also there is a related thread on the dracut ML where Harald said that /usr/lib/dracut is the only supported dir: http://thread.gmane.org/gmane.linux.kernel.initramfs/3433
Installing skipcpio next to dracut-install (into libexec) would be a way to go. But maybe QA_MULTILIB_PATHS approach is better. +*dracut-040-r2 (18 Nov 2014) + + 18 Nov 2014; Amadeusz Żołnowski <aidecoe@gentoo.org> +dracut-040-r2.ebuild: + Drop patch "Install dracut-install into libexec dir instead of lib" + and install skipcpio and dracut-install into /usr/lib/dracut/. Set + QA_MULTILIB_PATHS accordingly for these binaries. + + Fix bug #528998. Commit on behalf of Alexander Tsoy <alexander@tsoy.me>. + Peter, could you test, please?