Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: Alexis Ballier <aballier@g.o>, Zac Medico <zmedico@g.o>
Cc: gentoo-dev@l.g.o, "Michał Górny" <mgorny@g.o>
Subject: Re: [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= )
Date: Tue, 20 Jan 2015 18:34:10
Message-Id: 54BE9F8D.1030406@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= ) by Alexis Ballier
1 On 01/20/2015 10:20 AM, Alexis Ballier wrote:
2 > On Tue, 20 Jan 2015 09:28:21 -0800
3 > Zac Medico <zmedico@g.o> wrote:
4 >
5 >> On 01/20/2015 01:11 AM, Alexis Ballier wrote:
6 >>> I think we can only make the safest assumption. Even without
7 >>> subslot, if you consider this: || ( a b c d ), with a and c
8 >>> installed but package automagically deciding to use only a, how can
9 >>> a PM decide whether it is safe to remove a or not after the package
10 >>> has been merged ?
11 >>
12 >> Right, this demonstrates that || deps are ambiguous. So, maybe we
13 >> should look at alternatives that are not so ambiguous, such as USE
14 >> conditionals and REQUIRED_USE constraints.
15 >
16 > if you assume there are no automagic deps, what is wrong and/or
17 > ambiguous with '|| ( a b c d ) means "any of them, and at least all
18 > that were available when the package was merged"' ?
19 > in the above example this avoids PM breaking people systems by removing
20 > 'a' (e.g. if another packages pulls in 'd' that has a blocker against
21 > 'a') and as a side effect makes := deps work...
22
23 Sure, but when you start using words like "at least all that were
24 available when the package was merged", it shows a lack of precision in
25 your model. I tend to agree with Ciaran, that || deps are best suited to
26 dependencies that can be switched at runtime. For := deps, USE
27 conditionals and REQUIRED_USE constraints seem like a better fit.
28 --
29 Thanks,
30 Zac

Replies