That's with portage HEAD from 03/13/2005. Here is my test case: % cat pkgA/pkgA-1.ebuild DESCRIPTION="This is a test ebuild." HOMEPAGE="" SRC_URI="" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="flagB" DEPEND="pkgB? ( port-test/broken )" pkg_setup() { use flagB && einfo "flagB is set!" } % cat pkgB/pkgB-1.0.ebuild DESCRIPTION="This is a test ebuild." HOMEPAGE="" SRC_URI="" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="" % cat /etc/portage/profile/use.defaults flagB port-test/pkgB % cat /etc/portage/categories port-test % emerge -pv pkgB pkgA These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] port-test/pkgB-1.0 [1] [ebuild N ] port-test/pkgA-1 -flagB [1] Total size of downloads: 0 kB Portage overlays: [1] /var/portage/overlays/tgl I think "flagB" should appear as set here. Actually, if I merge this packages, i get : >>> emerge (1 of 2) port-test/pkgB-1.0 to / ... >>> emerge (2 of 2) port-test/pkgA-1 to / ... * B is set! ... I fear that may means wrong deps resolution, for instance if "flagB" is used in DEPEND. Reproducible: Always Steps to Reproduce:
I believe this is correct behavior for that version, Jason can you confirm? I recall conversation long ago about how to handle auto-use and the new resolver. ..but I thought it worked this way with the current one?
The autouse check is now only done once. Hence, USE flags won't be changing while packages are being installed. However, actually making resolution take use.defaults into account won't be done because autouse will be killed off later on.