This looks related to bug 447570 and bug 442830 , but they're not exact matches. Case A: > EAPI=4 > IUSE="" > REQUIRED_USE="test? ( ... )" Case B: > EAPI=5 > IUSE="" > REQUIRED_USE="test? ( ... )" Case B triggers a repoman warning, but case A does not. In case A, "test" is injected by config.py > iuse_implicit.add("test") Case A has the unfortunate side effect of the REQUIRED_USE segment being ignored by Paludis due to the absence of "test" in IUSE. Case C: > EAPI=4 > IUSE="test" > REQUIRED_USE="test? ( ... )" Case C has Paludis correctly respect the REQUIRED_USE statement. Unfortunately it is probably not immediately practical to fix portage to break the same way Paludis does ;). But having repoman warn here would be a good start.
We can probably call this obsolete given there’s no more EAPI 4 ebuilds in tree. Obviously Portage will retain support but I don’t think there’s any appetite to enhance repoman for banned EAPIs.
(In reply to Sam James from comment #1) > We can probably call this obsolete given there’s no more EAPI 4 ebuilds in > tree. Obviously Portage will retain support but I don’t think there’s any > appetite to enhance repoman for banned EAPIs. Closing.