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