In the cross-prefix senario, setting USE via the environment variable is broken. Reproducible: Always Steps to Reproduce: 1. USE='-acl -xattr -nls' EPREFIX=/tmp emerge -pvt gettext You can see the 'nls', 'acl', 'xattr' flags are not enabled. As expected. 2. USE='-acl -xattr -nls' EPREFIX=/tmp emerge -pvet gettext You can see that for some ebuilds 'nls', 'acl', 'xattr' are enabled. It is very likely related to the EAPI-7 bump. I think at first we need to clarify that during cross-prefix, 1. if a compile time DEPEND is installed in BROOT but not the lastest version, Will the package in BROOT be upgraded? In this case will the environment variable USE affect the use flags of the BROOT? 2. if a compile time DEPEND is not installed anywhere, Will it be installed into BROOT or EPREFIX? Will the environmental USE flag be respected?
> It is very likely related to the EAPI-7 bump. I think at first we need to > clarify that during cross-prefix, > > 1. if a compile time DEPEND is installed in BROOT but not the lastest > version, > > Will the package in BROOT be upgraded? In this case will the environment > variable USE affect the use flags of the BROOT? No. > 2. if a compile time DEPEND is not installed anywhere, > > Will it be installed into BROOT or EPREFIX? Will the environmental USE > flag be respected? No.