On 18 March 2012 08:33, Matt Turner <matts...@gentoo.org> wrote: > So you run set FEATURES=test to run a package's test suite during > keywording. Later, you emerge -vuNDa ... and portage wants to reemerge > that package with USE=-test. > > Can't we avoid this somehow? I presume in the vast majority of cases > emerging with FEATURES/USE=test doesn't actually affect what's > installed.
Not so, there are a lot of things where USE="test" pulls in extra dependencies, dev-perl/* is rife with them. And I've seen some things where USE=test changes behaviour of the compile phase sufficient that enabling USE=test *could* change the code compiled as well. But I think I see where you're comming from. I just can't see a reasonable cover-all approach that wouldn't really be a large nasty package-manager specific hack. > I'd guess we'd need to be able to remove 'test' from the set of IUSE > and have a new helper function to check if 'test' is in FEATURES? And besides, I'll reinstall a package if so much as the MD5 changes due to somebody adding keywording for an arch I don't use ;) I think what would be more practical is a sane way to enable FEATURES="" on a per-package level like USE flags in portage, then you could enable FEATURES="test" for that one package and it would always build that package with USE="test" Paludis does this already via an extended use.conf syntax: =dev-foo/bar-1.2 flag -otherflag BUILD_OPTIONS: optional_tests LINGUAS: en Perhaps portage does this already and I'm hiding under a rock, but I haven't seen it, and I've just cheated the system with linguas_en and other similar manual USE_EXPAND tricks in my package.use -- Kent perl -e "print substr( \"edrgmaM SPA NOcomil.ic\\@tfrken\", \$_ * 3, 3 ) for ( 9,8,0,7,1,6,5,4,3,2 );"