On Sat, 2010-04-24 at 20:00 +0200, Sebastian Luther wrote: > Am 24.04.2010 13:32, schrieb Gentoo: > > On Fri, 2010-04-23 at 22:31 -0700, Zac Medico wrote: > >> On 04/23/2010 05:43 AM, Sebastian Luther wrote: > >>> Someone might come up with some logic to detect new use flags in > >>> *DEPEND, but this looks like a hack to me. > >> > >> It doesn't seem too bad to me. > > It doesn't work, because it's not guaranteed, that only use flag from > IUSE are used in use conditionals. That means you can't do it reliably > without the unevaluated value. > > >> > >>> The clean solution is to > >>> store the unevaluated string. > >> > >> Do you want to do this for $PKGDIR/Packages as well? We've always > >> evaluated USE conditionals in there since we were copying the > >> behavior of the older genpkgindex tool and that's how it behaved. > >> > > We should do it there too for the same reason as for storing it in the > vdb. Never heard of that tool, but anyone handling portage's binpkgs > should use the portage api which provides an easy way to evaluate the > use conditionals. > > >> Also note that if we want to rely on having unevaluated strings then > >> we'll probably want to try to get alternative package managers to > >> behave the same way (maybe specify it in PMS). > > The vdb isn't covered by PMS. Paludis stores the unevaluated value, > pkgcore stores the evaluated value. > > >> > >>> Question is: Does anyone have a good argument to not use the old > >>> behavior again? > > > > space and ease of parsing for minimal pkg mergers. > > > > > > Minimal mergers have to handle it anyway, since this has been the old > behavior until some weeks ago.
We actually had flattened R/DEP's before for a while. Then they got removed then noew added back. > For portage API users, the difference is > a (rather long) one liner. > What do you mean with space? The vdb is getting rather bloated. Anything that cuts down excess waste there for the masses I tend to be in favor of. > >>> > >>> Sebastian > >>> > >>> [1] commit e6be6590e99522f9be69e2af8eff87919d9bf31f on 2010-02-14 > >> > >> I think we'll have to handle the evaluated strings anyway since this > >> code has already been released and stabilized in portage-2.1.8.x, > >> and USE conditionals have been evaluate in $PKGDIR/Packages for even > >> longer. Because of this, I see little or no benefit in changing it > >> back to unevaluated strings at this point. > > > > Good. Thanks for not reverting back to those old behaviors. > > And the new use case isn't of any relevance? > > As a compromise: What about storing both values? That just add bloat back. I think the real problem here in the example you listed in the first email, is that ebuild authors should be bumping a package when adding/removing functionaliy provided by IUSE. Infact it's even a policy & part of our own ebuild quizzes that they should bump the pkg (eclasses excluded). -- Gentoo <so...@gentoo.org> Gentoo Linux