Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] [tangent] Re: [gentoo-automated-testing] BROKEN: repository became broken!
Date: Fri, 17 Jun 2016 22:22:56
Message-Id: 221b144f-73bb-28f3-3b28-0f830207b696@gentoo.org
In Reply to: Re: [gentoo-dev] Fw: [gentoo-automated-testing] BROKEN: repository became broken! by Ian Stakenvicius
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.

Attachments

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

Replies