Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 23546

Summary: Blocking depends are ignored by emerge -u
Product: Portage Development Reporter: Robert Coie (RETIRED) <rac>
Component: UnclassifiedAssignee: Nicholas Jones (RETIRED) <carpaski>
Status: RESOLVED FIXED    
Severity: blocker CC: lisa, ska-fan
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Robert Coie (RETIRED) gentoo-dev 2003-06-26 13:29:53 UTC
Blocking DEPENDs that start with '!' are ignored when running emerge -u.  If the
-u is dropped, the depends take effect.  This appears to be due to the fact that
the test on line 577 of emerge fails: 

if myparent and self.mydbapi[myroot].match(mykey):

I see that emerge -u uses a fakedbapi, as opposed to a vardbapi, which I think
accounts for the disparity.  One possibility for a fix would be to change that
line to:

if myparent and vardbapi.match(mykey):

...but I don't know if that is a good idea or would have other side-effects.
Comment 1 Nicholas Jones (RETIRED) gentoo-dev 2003-06-27 16:49:23 UTC
It's odd that it doesn't work...
Changing it to vardbapi will break alternate roots, aka LiveCD/Stager scripts.
Comment 2 Nicholas Jones (RETIRED) gentoo-dev 2003-07-16 01:27:54 UTC
Actually... Rac was partially right, and so was I. :)

if myparent and
   (self.mydbapi[myroot].match(mykey) or vardbapi.match(mykey)):

Fixed in cvs for >=49_pre8
Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2003-07-17 09:29:29 UTC
*** Bug 24652 has been marked as a duplicate of this bug. ***