Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-dev
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-dev@g.o
From: Zac Medico <zmedico@g.o>
Subject: Re: perl eclass review - EAPI=3 + new helper eclass
Date: Sat, 24 Apr 2010 23:16:40 -0700
On 04/23/2010 08:14 AM, James Cloos wrote:
>>>>>> "HvD" == Harald van Dijk <truedfx@g.o> 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


References:
Re: perl eclass review - EAPI=3 + new helper eclass
-- Zac Medico
Re: perl eclass review - EAPI=3 + new helper eclass
-- James Cloos
Re: perl eclass review - EAPI=3 + new helper eclass
-- Zac Medico
Re: perl eclass review - EAPI=3 + new helper eclass
-- James Cloos
Re: perl eclass review - EAPI=3 + new helper eclass
-- Zac Medico
Re: perl eclass review - EAPI=3 + new helper eclass
-- James Cloos
Re: perl eclass review - EAPI=3 + new helper eclass
-- Ciaran McCreesh
Re: perl eclass review - EAPI=3 + new helper eclass
-- James Cloos
Re: perl eclass review - EAPI=3 + new helper eclass
-- Ciaran McCreesh
Re: perl eclass review - EAPI=3 + new helper eclass
-- James Cloos
Re: perl eclass review - EAPI=3 + new helper eclass
-- Harald van Dijk
Re: perl eclass review - EAPI=3 + new helper eclass
-- James Cloos
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: perl eclass review - EAPI=3 + new helper eclass
Next by thread:
Re: perl eclass review - EAPI=3 + new helper eclass
Previous by date:
Re: The /etc/portage/env profile.bashrc hack
Next by date:
Re: Requiring two sets of eyes for all eclass commits


Updated Jun 29, 2012

Summary: Archive of the gentoo-dev mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.