1 |
On Wed, 30 Aug 2017 12:21:10 +0200 |
2 |
Ulrich Mueller <ulm@g.o> wrote: |
3 |
|
4 |
> >>>>> On Wed, 30 Aug 2017, Alexis Ballier wrote: |
5 |
> |
6 |
> > Does your PMS patch takes into account constructs like: |
7 |
> > '|| ( foo? ( bar ) baz? ( bar ) )' ? With foo and baz masked or |
8 |
> > disabled, this would end up empty |
9 |
> |
10 |
> Constructs like that will not be affected. |
11 |
> |
12 |
> The proposed change is entirely about banning groups that are |
13 |
> literally empty, like "|| ( )", "foo? ( )", etc. |
14 |
|
15 |
By removing the part about how to treat empty blocks, I think you're |
16 |
changing the semantics of this (it's not just a syntactic change): |
17 |
|
18 |
DEPEND="|| ( foo? ( cat/bar ) baz? ( cat/baf ) )" |
19 |
|
20 |
|
21 |
USE="-foo baz" -> should we (always) pull cat/baf ? |
22 |
Subquestion: |
23 |
- If yes, does that mean 'foo? ( cat/bar )' is to be |
24 |
treated as false with USE=-foo? What about DEPEND="foo? |
25 |
( cat/bar )" then ? |
26 |
USE="-foo -baz" -> is the whole || satisfied ? |
27 |
|
28 |
|
29 |
I think that the current defined semantics is that 'foo? ( cat/bar )' |
30 |
is neither true nor false with USE=-foo, it's simply removed. Meaning: |
31 |
USE="-foo baz" -> this becomes "DEPEND="|| ( baz? ( cat/baf ) )", |
32 |
always pulling cat/baf. |
33 |
USE="-foo -baz" -> this becomes DEPEND="|| ( )" being empty and thus |
34 |
satisfied. (you're changing that) |
35 |
|
36 |
|
37 |
|
38 |
|
39 |
Note: Those are not rhetorical questions. I definitely like your |
40 |
proposal, I'm just making sure this does not endanger the spec |
41 |
soundness and at the same time trying to understand better a part of |
42 |
the dependencies specification I've been struggling with. |
43 |
|
44 |
|
45 |
Alexis. |