latest change (commit 935933cffaa5bf0f621138c23701e82982b1d541) to dev-lang/nasm-2.15.05.ebuild changed ${D} to ${ED} in src_install(), but this causes "emerge nasm" to fail in gentoo prefix ("Aborting due to QA concerns: double prefix files installed"). please revert.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95a58b97e69183ce0bff8897451f61776968d7eb commit 95a58b97e69183ce0bff8897451f61776968d7eb Author: Matt Smith <matt@offtopica.uk> AuthorDate: 2021-08-31 19:50:28 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-08-31 23:12:12 +0000 dev-lang/nasm: Fix install on Gentoo Prefix DESTDIR should not be ${ED}. Closes: https://bugs.gentoo.org/811243 Package-Manager: Portage-3.0.22, Repoman-3.0.3 Signed-off-by: Matt Smith <matt@offtopica.uk> Closes: https://github.com/gentoo/gentoo/pull/22174 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/nasm/nasm-2.15.05.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Thanks Matt for a quick fix. I guess it's caused by two separate emake DESTDIR install calls (default is present), because we do have $ grep -r "DESTDIR=\"\${ED}\"" | grep install | wc -l 174 multiple ebuilds still calling emake DESTDIR="${ED}" install - some of them @system packages. So all calls need to be either to D or ED, but can't mix them. Then again how does portage decide whether to install EROOT/D or ROOT/ED? https://devmanual.gentoo.org/ebuild-writing/variables/
(In reply to Joonas Niilola from comment #2) > Then again how does portage decide whether to install EROOT/D or ROOT/ED? It's ROOT/wherever-the-ebuild-is-installing, the ebuild and helper functions are handling the prefix bit, it won't choose EROOT on top of it. Normally EPREFIX will go through PREFIX=${EPREFIX}/usr or autoconf's (like nasm does) -- so DESTDIR="${ED}" is relatively rare, and almost always wrong on an autoconf package