Gentoo Archives: gentoo-project

From: Alexis Ballier <aballier@g.o>
To: Ulrich Mueller <ulm@g.o>
Cc: gentoo-project@l.g.o
Subject: Re: [gentoo-project] call for agenda items -- council meeting 2017-09-10
Date: Wed, 30 Aug 2017 11:00:25
Message-Id: 20170830130016.3b6bca1e@gentoo.org
In Reply to: Re: [gentoo-project] call for agenda items -- council meeting 2017-09-10 by Ulrich Mueller
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.