Gentoo Archives: gentoo-dev

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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies