Gentoo Archives: gentoo-dev

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] EAPI 5+: split PDEPEND introducing SDEPEND
Date: Sun, 02 Sep 2012 19:09:36
Message-Id: 20120902200411.305ec65f@googlemail.com
In Reply to: Re: [gentoo-dev] [RFC] EAPI 5+: split PDEPEND introducing SDEPEND by Fabio Erculiani
1 On Sun, 2 Sep 2012 20:46:19 +0200
2 Fabio Erculiani <lxnay@g.o> wrote:
3 > On Sun, Sep 2, 2012 at 8:08 PM, Ciaran McCreesh
4 > <ciaran.mccreesh@××××××××××.com> wrote:
5 > > and we have worked out all the difficulties.
6 >
7 > Please elaborate. What difficulties? What did you implement other than
8 > plain SDEPEND? With what features? Lots of detail missing.
9
10 The big issues you're ignoring:
11
12 * What to do if a package has an SDEPEND upon cat/pkg[x] and the user
13 has cat/pkg[-x] installed, or if another package in the resolution
14 depends upon cat/pkg and the user hasn't specified USE=x. Similarly,
15 an SDEPEND upon >=cat/pkg-2.1 and the user has cat/pkg-2.0 (which is
16 in the same slot as 2.1) installed. The right answer is to force a
17 reinstall with [x] / force the upgrade, and for the spec to
18 explicitly require this from implementations, but *why* this is the
19 case is fairly subtle.
20
21 * How to handle groups of dependencies in suggestions.
22
23 * How to display suggestions to the user, and allow the user to
24 confirm or reject suggestions. From a spec perspective, we don't
25 mandate any particular behaviour, but we do need to make sure that a
26 good quality implementation is possible. With SDEPEND as you're
27 proposing, we're going to have exactly the same issues we currently
28 have with REQUIRED_USE and blockers: ebuilds won't provide enough
29 information to provide a good user interface.
30
31 * What use? blocks in SDEPEND actually mean. Again, there's a right
32 answer here: it's for when a particular suggestion requires the base
33 package to be built in a particular way.
34
35 > > Having said that, if we're going with suggested dependencies for
36 > > EAPI 5 (which I strongly suspect won't happen, since we seem to be
37 > > wanting EAPI 5 now rather than in several years time...) then
38 > > there's a lot more to getting it right than is mentioned in the
39 > > original post, and it needs to be written up properly.
40 >
41 > Well, this depends on the quality of the PMS architecture, I am not
42 > familiar with Paludis tho.
43
44 Paludis already has it. The question is whether it can be implemented
45 for Portage.
46
47 > I don't remember to have listed anything about what needs to be done
48 > at the implementation level actually, nor I really wanted to.
49
50 That's a problem. You can't just magically describe a vague feature and
51 expect it to be implementable.
52
53 > I always use the 5 minutes "rule of thumb" strategy to understand the
54 > complexity of proposals: if it takes me more than 5 minutes to
55 > understand it, then users (!= devs) will have to go through the same
56 > or more "wtf-period". And the probability of them "giving up / getting
57 > sick / ignoring it" is linear with the wtf-period.
58
59 There's a big difference between understanding things for developers,
60 and getting it right for implementation. Where possible, users and
61 developers should only need a shallow understanding of a feature to be
62 able to use it, but for the purposes of the spec and the
63 implementation, we need a proper deep understanding of the topic, and
64 you aren't giving that.
65
66 --
67 Ciaran McCreesh

Attachments

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

Replies