On 04/23/2010 08:14 AM, James Cloos wrote: >>>>>> "HvD" == Harald van Dĳk <true...@gentoo.org> writes: > > HvD> Let's say this is in the tree: > > HvD> foo.eclass: > HvD> DEPEND="dev-lang/python:2.6" > > HvD> bar-1.ebuild: > HvD> inherit foo > > HvD> Let's say this is in your overlay: > > HvD> foo.eclass: > HvD> DEPEND="|| ( dev-lang/python:3.1 dev-lang/python:2.6 )" > > HvD> Now you install bar. How should portage know that it must regenerate the > HvD> metadata cache, to see that it doesn't need to install python 2.6 if you > HvD> already have 3.1? > > It shouldn't bother. :) > > Really, that isn't the kind of change that I find I need to make.
Different users have different needs. The user who reported this bug needed the opposite behavior: http://bugs.gentoo.org/show_bug.cgi?id=276264 > And it should never regenerate the metadata cache (ie portage/metadata/cache). Again, different users have different needs and the user in bug #276264 really needed to regenerate the cache. > The docs used to -- and probably still do -- recommend regenerating that > cache after certain changes. Which is a drasticly bogus suggestion unless > you have a *very* fast system. It's a somewhat bogus suggestion if you are not modifying eclasses in the same way as the user from bug #276264. Note that it's possible to enable eclass-overrides without discarding $PORTDIR/metadata/cache. It seems like that might work for your use case (don't forget that this won't necessarily be appropriate for every user). For the user in bug #276264, it's more appropriate to discard $PORTDIR/metadata/cache and run emerge --regen (with --jobs if he wants to use multiple cpu cores in parallel). > Even across a dialup straw, an emerge --sync > is orders of magnitude faster. Different things give different results. It may work for your use case but not for others. > If the ebuild calls a class which has been overridden by a local class, and > the original class set DEPENDs or the like, then as it reads in the new class > file it should just use those values in place of the ones in the cache. And that's the behavior that you'll get if you don't discard $PORTDIR/metadata/cache (which would be inappropriate for the user in bug #276264). > > -JimC -- Thanks, Zac