1 |
Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote: |
2 |
> On Tue, 24 Feb 2009 12:25:27 -0500 |
3 |
> Jim Ramsay <lack@g.o> wrote: |
4 |
> > > ...and it means we can't change name or version rules. |
5 |
> > > |
6 |
> > > ...and it means over doubling the best possible time to work out a |
7 |
> > > dependency tree in the common case where the metadata cache is |
8 |
> > > valid. |
9 |
> > > |
10 |
> > > ...and it means we can't make arbitrary format changes. |
11 |
> > |
12 |
> > Those would all land in the category of "backwards compatibility" |
13 |
> > mentioned below, as they would all break current sourcing rules. |
14 |
> |
15 |
> No, they're also future issues. Without glep 55, every time they come |
16 |
> up we have to go through the whole mess again. |
17 |
|
18 |
This minor/major EAPI scheme is exactly equivalent to glep 55 in |
19 |
the ways that it addresses the non-implementation-specific |
20 |
details - It could even be added as a caveat to glep-55 that says |
21 |
something like: |
22 |
|
23 |
"You should not change filename extension (ie, major-EAPI version, or |
24 |
EPARSE version, or whatever we want to call it...) except when you *have |
25 |
to* because of changes such as name or version rules, arbitrary format |
26 |
changes, or anything else that breaks the sourcing rules of the |
27 |
existing filename extensions. Simpler feature improvements can be done |
28 |
using whatever internal minor-EAPI version is defined by the major-EAPI |
29 |
version." |
30 |
|
31 |
This doesn't prevent you from changing the filename extension when you |
32 |
have to do so, it just suggests that maybe you don't have to do it for |
33 |
every single feature-set you may want to implement. |
34 |
|
35 |
> > > Developers already have to stop and think and consult the |
36 |
> > > conveniently available table of features for EAPIs. By splitting |
37 |
> > > the EAPI concept in two you're doubling the amount of data to be |
38 |
> > > learnt. |
39 |
> > |
40 |
> > I would think that this is a very small cost, and the benefit would |
41 |
> > be (I hope) that more people would agree on the solution and then |
42 |
> > we can go forward. Is that not a valid consideration? |
43 |
> |
44 |
> I'd expect to see changes that would warrant a major bump in every |
45 |
> other EAPI or so anyway, so it's not really worth the complexity. |
46 |
|
47 |
If that is indeed the case, then adding this caveat to glep-55 is |
48 |
basically a nop. If every EAPI includes a non-backwards-compatible |
49 |
change that breaks existing PMs, the filename extension will be changed |
50 |
every time. |
51 |
|
52 |
But when you say "worth the complexity", I'm not exactly sure what |
53 |
your standards of "worthiness" are. |
54 |
|
55 |
I don't think the human cognition of a 2-level versioning scheme is |
56 |
that tricky, so I assume you must mean complexity in the internals of |
57 |
package managers - but this should just be a Simple Matter Of |
58 |
Programming. |
59 |
|
60 |
I'll further qualify this response by mentioning that I am not a package |
61 |
manager maintainer. I don't know beans about metadata and cacheing and |
62 |
what the tradeoffs may be between a two-level EAPI and a single-level |
63 |
EAPI stored in the filename. I understand that parsing two-level EAPI |
64 |
is "more expensive" than a single-level stored in the filename. I don't |
65 |
however know how to figure out if it is "too expensive", or whose |
66 |
subjective scale we should use to measure this. |
67 |
|
68 |
I personally feel the "complexity" that you say is too costly is a fair |
69 |
tradeoff for a proposal that people will accept. |
70 |
|
71 |
(Of course I have no idea if people actually would accept a two-level |
72 |
EAPI any more than glep-55 as-is... I just think it addresses the |
73 |
concerns I've heard in this thread in a way that does not break |
74 |
the valid solutions to real problems presented in glep-55) |
75 |
|
76 |
-- |
77 |
Jim Ramsay |
78 |
Gentoo Developer (rox/fluxbox/gkrellm/vim) |