Gentoo Archives: gentoo-pms

From: Sebastian Luther <SebastianLuther@×××.de>
To: gentoo-pms@l.g.o
Subject: Re: [gentoo-pms] Do we want an EAPI 5?
Date: Fri, 01 Jul 2011 08:56:05
Message-Id: 4E0D8B63.7010103@gmx.de
In Reply to: Re: [gentoo-pms] Do we want an EAPI 5? by Ciaran McCreesh
1 Am 01.07.2011 10:09, schrieb Ciaran McCreesh:
2 > On Fri, 01 Jul 2011 09:45:34 +0200
3 > Sebastian Luther <SebastianLuther@×××.de> wrote:
4 >>>> I know. I'm not opposed to this change, but the needed work flow
5 >>>> change for ebuild devs has to be communicated.
6 >>>
7 >>> Shouldn't be a workflow change. It's already policy to do a revbump
8 >>> if dependencies change.
9 >>
10 >> It is policy, but as you're probably aware of, it's not followed in
11 >> may cases, which in turn raises the question if people wouldn't
12 >> prefer to change the policy instead of their work flow (not that I
13 >> would suggest that).
14 >
15 > Anyone not following the policy is already breaking things, and we
16 > can't switch to the "use the tree ebuild" behaviour since it doesn't
17 > work when ebuilds get removed. All we're doing is making an existing
18 > bug more visible.
19 The "make the bug more visible part" is what I'm up to.
20
21 >
22 >> I think part of the problem here is that those things aren't written
23 >> down as a glep (or some similar document). Imo every change that leads
24 >> to a non trivial amount of discussion should be written down in such a
25 >> way. Otherwise it's hard for people that missed the original
26 >> discussion to catch up and those that took part in this discussion
27 >> get frustrated because they have to repeat themselves again and again.
28 >> This should be discussed in another thread if someone is interested.
29 >
30 > It's not worth it. It's a huge amount of work to summarise every
31 > incorrect argument and false lead. It's not done by official standards
32 > bodies, who have far more resources than we do, so what you're asking
33 > for is just obstructionism and red tape.
34 >
35 I'm not asking for a summary of everything someone said about the topic.
36 I'm asking for something between this and a PMS text, simply put, the
37 stuff that is mandated by the glep rules.
38
39 >>> If you're just looking for a summary, not details: say a user has
40 >>> cat/dep:1, cat/dep:2 and cat/dep:3 installed, and wants to uninstall
41 >>> cat/dep:1 and cat/dep:2. Say there's cat/pkg installed which has a
42 >>> dep upon cat/dep. Then there's no way for the package mangler to
43 >>> know which cat/dep slots are still 'needed', and which can be safely
44 >>> removed. Thus, to be safe, it has to assume that all three slots
45 >>> might be needed.
46 >>>
47 >> Or you do it like portage does it and assume the package works with
48 >> any slot (the :* case) and if it doesn't, declare that a bug of the
49 >> package. Now giving ebuild devs the := operator allows them to say
50 >> "the package insist on the slot it was build against".
51 >
52 > Can't. Right now there's no way for packages to specify those kinds of
53 > dependencies correctly. Assuming :* just isn't safe, and doesn't match
54 > the historical meaning of lack-of-slot dependencies.
55 >
56 I don't know what you mean with historical meaning. As long as I use
57 gentoo (since ~mid 2007) it has been that way. I agree that it isn't
58 safe, but that's how portage does it.
59 For EAPI5, there is the possibility to make this the default and leave
60 := for the cases that don't behave this way (see below).
61
62 >>> The problem is that every way of handling the "no operator" case is
63 >>> wrong for many real situations. You can assume either "any slot" or
64 >>> "best slot", both of which will allow packages to be removed
65 >>> unsafely, or you can assume "all slots", which is excessively
66 >>> paranoid for many packages.
67 >>>
68 >> Do you see a way for the PM to decide which behavior it should use on
69 >> per case basis?
70 >
71 > The package mangler has to be told explicitly. It can't work it out
72 > itself.
73 >
74 >> If yes, than having both operators makes sense.
75 >> If no, the PM has to decide on one of the behaviors anyways. Why not
76 >> specify which one that is (see above)?
77 >
78 > Having both operators provides a way of checking that developers have
79 > explicitly confirmed which behaviour they mean. Without them, we don't
80 > know whether no operator means "whichever default we decide", or
81 > whether it means "I didn't realise that this dep has slots now".
82 >
83 Right, that's lost when a default is selected.
84
85 It now boils down to the question what people want.
86 a) The proposal that had been voted into EAPI3.
87 b) What I said above.
88
89 The first having the advantage that it's possible to check if a dep has
90 been updated to slot deps or not.
91
92 The latter has the advantage that it's simpler in the sense that it
93 introduces only one new thing (the := operator) to do one new thing,
94 namely to turn the :* behavior most people (those that use portage) are
95 used to into the := behavior. It also doesn't leave any uncertainty
96 about what the "no-operator" case means.

Replies

Subject Author
Re: [gentoo-pms] Do we want an EAPI 5? Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>