On 01/20/2015 10:20 AM, Alexis Ballier wrote:
> On Tue, 20 Jan 2015 09:28:21 -0800
> Zac Medico <[email protected]> wrote:
> 
>> On 01/20/2015 01:11 AM, Alexis Ballier wrote:
>>> I think we can only make the safest assumption. Even without
>>> subslot, if you consider this: || ( a b c d ), with a and c
>>> installed but package automagically deciding to use only a, how can
>>> a PM decide whether it is safe to remove a or not after the package
>>> has been merged ?
>>
>> Right, this demonstrates that || deps are ambiguous. So, maybe we
>> should look at alternatives that are not so ambiguous, such as USE
>> conditionals and REQUIRED_USE constraints.
> 
> if you assume there are no automagic deps, what is wrong and/or
> ambiguous with '|| ( a b c d ) means "any of them, and at least all
> that were available when the package was merged"' ?
> in the above example this avoids PM breaking people systems by removing
> 'a' (e.g. if another packages pulls in 'd' that has a blocker against
> 'a') and as a side effect makes := deps work...

Sure, but when you start using words like "at least all that were
available when the package was merged", it shows a lack of precision in
your model. I tend to agree with Ciaran, that || deps are best suited to
dependencies that can be switched at runtime. For := deps, USE
conditionals and REQUIRED_USE constraints seem like a better fit.
-- 
Thanks,
Zac

Reply via email to