Let's consider small ebuild: EAPI=5 DESCRIPTION="A test for missing flag in IUSE" HOMEPAGE="http://gentoo.org" LICENSE="GPL-2" SLOT="0" KEYWORDS="" IUSE="" RDEPEND="" DEPEND="" src_unpack() { use nonexistent-iuse || einfo "I have requested nonexistent flag" einfo "And still alive. Not good :]" mkdir "${S}" } at best it shows there is suspicious unknown IUSE flag. But there is no way to make that error fatal: ebuild foo-9999.ebuild clean prepare >>> Unpacking source... * QA Notice: USE Flag 'nonexistent-iuse' not in IUSE for app-portage/foo-9999 * I have requested nonexistent flag * And still alive. Not good :] >>> Source unpacked in /subvolumes/var_tmp/portage/app-portage/foo-9999/work >>> Preparing source in /subvolumes/var_tmp/portage/app-portage/foo-9999/work/foo-9999 ... >>> Source prepared. Would be nice to have that QA warning a fatal error in at least EAPI=5. Such errors should be easy to fix in current ebuilds. For previous EAPIs such behaviour would be too hostile due to different in implicit IUSE rules (bug #447570 and bug #442830).
This is fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0c38140e331c040530bf1d6c5716696162790bda
This is fixed in 2.1.11.39 and 2.2.0_alpha150.