Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 23869 - Logic problem in portdbapi.aux_get()
Summary: Logic problem in portdbapi.aux_get()
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Nicholas Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-02 06:30 UTC by Ross Girshick
Modified: 2011-10-30 22:21 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ross Girshick 2003-07-02 06:30:54 UTC
Line 3517 in 2.0.48-r3:

3510   for myeclass in myeclasses:
3511       myret=eclass(myeclass,mycpv,dmtime)
3512       #print "eclass '",myeclass,"':",myret,doregen,doregen2
3513       if myret==None:
3514           # eclass is missing... We'll die if it doesn't get fixed on regen
3515           doregen2=1
3516           break
3517       if myret==0 and not usingmdcache:
3518           #print "((( 002 0"
3519           #we set doregen2 to regenerate this entry in case it was fixed
3520           #in the ebuild/eclass since the cache entry was created.
3521           #print "Old cache entry. Regen."
3522           doregen2=1
3523           break

I believe this should be "if myret==0 and usingmdcache:". The point of this 
clause is to regenerate the cache file if it isn't current with one of its 
eclasses. "usingmdcache" implies that we copied the metadata version and 
therefore want to update that old cache entry. "not usingmdcache" implies that 
in the first doregen clause we regenerated it.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Nicholas Jones (RETIRED) gentoo-dev 2003-07-10 16:47:34 UTC
No... That clause is to force a recreation of the cache file.
If you are using the metadatacache, you are not interested in
regenerating the cachefile, as you are copying it from the
server-generated files instead.

The metadatacache is used to short-circuit the long task of
regeneration, and is _only_ used during 'emerge sync'.