Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: 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: Wed, 21 Jan 2015 10:21:50
Message-Id: 20150121112135.1822dc5a@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= ) by Zac Medico
1 On Tue, 20 Jan 2015 10:33:49 -0800
2 Zac Medico <zmedico@g.o> wrote:
3
4 > On 01/20/2015 10:20 AM, Alexis Ballier wrote:
5 > > On Tue, 20 Jan 2015 09:28:21 -0800
6 > > Zac Medico <zmedico@g.o> wrote:
7 > >
8 > >> On 01/20/2015 01:11 AM, Alexis Ballier wrote:
9 > >>> I think we can only make the safest assumption. Even without
10 > >>> subslot, if you consider this: || ( a b c d ), with a and c
11 > >>> installed but package automagically deciding to use only a, how
12 > >>> can a PM decide whether it is safe to remove a or not after the
13 > >>> package has been merged ?
14 > >>
15 > >> Right, this demonstrates that || deps are ambiguous. So, maybe we
16 > >> should look at alternatives that are not so ambiguous, such as USE
17 > >> conditionals and REQUIRED_USE constraints.
18 > >
19 > > if you assume there are no automagic deps, what is wrong and/or
20 > > ambiguous with '|| ( a b c d ) means "any of them, and at least all
21 > > that were available when the package was merged"' ?
22 > > in the above example this avoids PM breaking people systems by
23 > > removing 'a' (e.g. if another packages pulls in 'd' that has a
24 > > blocker against 'a') and as a side effect makes := deps work...
25 >
26 > Sure, but when you start using words like "at least all that were
27 > available when the package was merged", it shows a lack of precision
28 > in your model.
29
30 "all that were available when the package was merged" is perfectly
31 defined. The "at least" is to allow room for dynamic deps but can be
32 dropped.
33 Simple words don't make things less precise, just more readable :)
34
35 [...]