1 |
On Sun, 17 May 2009 21:57:40 +0200 |
2 |
Thomas de Grenier de Latour <tom.gl@××××.fr> wrote: |
3 |
> On 2009/05/17, Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote: |
4 |
> > You don't define it quite like that. You define it by mapping EAPI X |
5 |
> > _p onto super-EAPI _p0, and EAPI Y _p onto super_EAPI _pINFINITY. |
6 |
> > That way the ordering's well defined. |
7 |
> |
8 |
> I understand the idea, but I still don't think it's viable to allow |
9 |
> such definitions, because there are too many contexts in which we |
10 |
> manipulate pure version strings, without decorating them with an EAPI, |
11 |
> and without reference to a concrete package from which we could get |
12 |
> it. Take ">=bar/foo-1_p" as an "emerge" command line argument for |
13 |
> instance, is my foo-1_p1.ebuild a candidate? |
14 |
|
15 |
Conceptually, you'd define a 'user' EAPI for those things, so you can |
16 |
define it any way you want (including in such a way that the _p thing |
17 |
works both ways depending upon the EAPI used for creating the thing |
18 |
you're comparing it to -- for the user EAPI, you'd define it as being |
19 |
_pUNSPECIFIED rather than _p0 or _pINFINITY and use the other side of |
20 |
the comparison to decide the result). But yes, if you do something |
21 |
silly like your example, things get very complicated. |
22 |
|
23 |
> > > As a consequence, the algorithm for picking best version of a |
24 |
> > > package can be as simple as the following: |
25 |
> > > 1- among all ebuilds filenames, filter out the ones with |
26 |
> > > unrecognized version string |
27 |
> > |
28 |
> > You don't know whether you recognise the version string until you |
29 |
> > know the EAPI, though. |
30 |
> |
31 |
> Under my previously stated restrictions, you know: |
32 |
> - which one can be rejected for sure (the ones not recognized by any |
33 |
> of your implemented EAPI). |
34 |
> - how to correctly order the remaining ones (even the incorrect ones |
35 |
> which may remain and would be rejected only at step 4), and thus |
36 |
> where to start to find the "best" correct one. |
37 |
|
38 |
Your previously stated restrictions are too strong, though. And when it |
39 |
turns out a future change breaks those restrictions, we'd be back to |
40 |
yet another extension change. |
41 |
|
42 |
-- |
43 |
Ciaran McCreesh |