On 09/17/2015 05:22 PM, Duncan wrote:
> Ciaran McCreesh posted on Thu, 17 Sep 2015 20:31:36 +0100 as excerpted:
> 
>> On Thu, 17 Sep 2015 20:14:59 +0100 Markos Chandras <hwoar...@gentoo.org>
>> wrote:
>>> could someone explain what the dynamic dependencies are in the context
>>> of portage and ebuilds? because that does seem to be something
>>> portage-internal specific in the way it handles changes in {,R}DEPEND
>>> without revbumps. Where is this thing documented in the first place?
>>
>> Sometimes, Portage will sort of use the dependencies specified in an
>> ebuild rather than the dependencies specified in VDB for certain
>> operations under certain conditions and certain phases of the moon,
>> except when it doesn't. This is a quirk left over from the olden days,
>> when Portage could only handle the existence of one version of any given
>> package, and so couldn't cope with there being something called foo-1.2
>> in VDB and something else called foo-1.2 in the tree. This bug was
>> largely fixed when env saving meant that eclasses no longer had to
>> remain compatible with things in VDB, but traces of it still remain to
>> cause confusion.
> 
> [There's discussion of a potential news item below.  People familiar with 
> the dynamic-deps discussion in general may wish to skip to it.  See under 
> the "Possible News item?" heading.]
> 
> Additionally, AFAIK, portage entirely disables dynamic-deps and uses 
> static deps any time subslots are used.

Actually, in this case it uses a combination of static deps and dynamic
deps. It takes the "static" slot operator deps and merges them with the
dynamic deps. The relevant code is here:

https://gitweb.gentoo.org/proj/portage.git/tree/pym/_emerge/FakeVartree.py?h=v2.2.20.1#n137
-- 
Thanks,
Zac

Reply via email to