1 |
On 17/06/16 05:22 PM, Michał Górny wrote: |
2 |
> On Sat, 18 Jun 2016 00:06:10 +0300 |
3 |
> Andrew Savchenko <bircoph@g.o> wrote: |
4 |
> |
5 |
>> On Fri, 17 Jun 2016 19:42:18 +0200 Michał Górny wrote: |
6 |
>>> Hello, |
7 |
>>> |
8 |
>>> Since this is a major issue involving a lot of packages, and it needs |
9 |
>>> to be fixed *quickly*, I'm forwarding the new check results to |
10 |
>>> gentoo-dev. |
11 |
>>> |
12 |
>>> If the below list contains your package, please fix it ASAP. I will |
13 |
>>> file bugs for the remaining packages then. |
14 |
>>> |
15 |
>>> Long story short, using := operator inside || () conditional blocks is |
16 |
>>> completely forbidden and triggers random misbehavior inside package |
17 |
>>> managers (Portage doesn't do exactly what you think it does). |
18 |
>> |
19 |
>> Please explain in more details why this is forbidden. man 5 ebuild |
20 |
>> contains nothing about this, I can't find anything in PMS also. If |
21 |
>> package manager misbehaves this doesn't automatically imply that |
22 |
>> ebuilds are broken (and not PM). |
23 |
> |
24 |
> It was explained already. PMS doesn't permit it. It doesn't make *any* |
25 |
> sense, so the author didn't even bother explicitly saying it's |
26 |
> forbidden. Package manager can't not misbehave if something can't be |
27 |
> implemented. |
28 |
> |
29 |
|
30 |
Where does PMS not permit it?? |
31 |
|
32 |
8.2: [...] |
33 |
An any-of group, which consists of the string ||, followed by |
34 |
whitespace, followed by an open parenthesis, followed by whitespace, |
35 |
followed by zero or more of (a dependency item of any kind followed by |
36 |
whitespace), followed by a close parenthesis. |
37 |
|
38 |
|
39 |
"dependency item of any kind" would certainly include atoms with slot |
40 |
operators. |
41 |
|
42 |
|
43 |
There is also no caveat at all in 8.2.3 that excludes slot operators, |
44 |
and 8.2.6.3 also contains no caveat or exclusion of slot operators |
45 |
from any-of groups. |
46 |
|
47 |
|
48 |
Using slot operators within OR deps was intended when EAPI5 was |
49 |
introduced. If Portage and other PMs don't handle it well or properly |
50 |
then they should be fixed, and perhaps the spec should be refined in |
51 |
EAPI7, but that doesn't mean banning it now. |