Sebastian Pipping wrote:
> Ciaran McCreesh wrote:
>> Because an overlay model has only a single foo-1.2. Think of it like
>> stacks of paper. You've got your main repository:
>>
>>   ::gentoo    foo-1.1 foo-1.2 foo-1.3
>>
>> and on top of that you put your overlay:
>>
>>   ::extras          foo-1.2         foo-1.4
>>   ::gentoo  foo-1.1 foo-1.2 foo-1.3
>>
>> and then looking down from the top, all an overlay model package
>> manager sees is the foo-1.2 from the overlay. There's no
>> foo-1.2::gentoo and foo-1.2::extras, there's just a single foo-1.2
>> that's made from (gentoo + extras).
> 
> I see.  So it would not work for dependencies but it should work for
> masking.  That alone wouldn't make me happy, though.
> 
> 
>> There's a different way of looking at it that focuses more on the
>> repository level view at [1].
>>
>> [1]: 
>> http://ciaranm.wordpress.com/2009/04/16/distributed-distribution-development-and-why-git-and-or-funtoo-is-not-it/
> 
> Interesting read.  Can you think of anything technical that would make
> moving portage to this model impossible?

It shouldn't be too difficult to tweak portage so that multiple
ebuilds of the same version from different repositories are visible
to portage's dependency resolver. Currently, it uses a collection of
3 repositories to resolve dependencies: installed, ebuild, and
binary packages. Replacing the single ebuild repository (portdbapi
class) instance with multiple instances, one for each overlay,
should produce the desired result.
-- 
Thanks,
Zac

Reply via email to