1 |
On Tue, Oct 04, 2005 at 08:27:09AM +0900, Jason Stubbs wrote: |
2 |
> On Tuesday 04 October 2005 03:30, Brian Harring wrote: |
3 |
> > On Tue, Oct 04, 2005 at 01:06:35AM +0900, Jason Stubbs wrote: |
4 |
> > > Don't like the size of this patch, but it's quite repetitive so... |
5 |
> > |
6 |
> > Wouldn't worry on the repetitive, it's repetitive due to the fact the |
7 |
> > *dbapi classes don't (ab|)use inheritance... |
8 |
> > |
9 |
> > > * Make all aux_get() functions return a list of strings again |
10 |
> > |
11 |
> > Why is this a good thing for EAPI? |
12 |
> |
13 |
> Consistency. There is no mapping of names to types so any tool that uses |
14 |
> aux_get to enumerate values and assumes that they are strings (as they have |
15 |
> always been and still are for every other key) would break. |
16 |
|
17 |
What tools are querying EAPI via aux_get already? I'm not much for |
18 |
making it a string purely because everything else is strings. |
19 |
|
20 |
|
21 |
> > > * Move the EAPI validity check into a separate function |
22 |
> > > * Raise a specific UnsupportedAPIException instead of plain Exception |
23 |
|
24 |
> No problem with these two? |
25 |
Cleaner, so nope, no complaints. |
26 |
|
27 |
|
28 |
> > > * Mark metadata of unsupported EAPIs as "INVALID" rather than -1 |
29 |
> > |
30 |
> > This doesn't really fly imo. You mark it as invalid, and _no_ portage |
31 |
> > version (regardless of it's ability to handle that EAPI) will _ever_ |
32 |
> > regenerate that entry. |
33 |
> > |
34 |
> > An old portage version updating the cache would make certain nodes |
35 |
> > never usable. |
36 |
> > |
37 |
> > The -1 is wrong, should be -EAPI. |
38 |
> |
39 |
> So negative numbers signals invalid cache entries in the scheme? |
40 |
|
41 |
sort of. Indication of what EAPI capable portage is needed that is |
42 |
capable of regenerating that entry correctly. |
43 |
|
44 |
This gets back to why the original patch was doing >=0 tests. |
45 |
|
46 |
> > This however is getting back into |
47 |
> > the "eapi should be freeform, not just ints", which I thought I |
48 |
> > clarified why it should be ints (or people shut up instead of |
49 |
> > listening to me argue it). :) |
50 |
> |
51 |
> The only reasoning that I recall without checking is that it wouldn't |
52 |
> complicate certain code paths. That's not a valid reason, in my opinion. |
53 |
> |
54 |
> Can leave that debate alone though. s/INVALID/\-1/ in the patch works for me. |
55 |
|
56 |
-EAPI... -1 implies 3.x would be capable of regenerating it (may not |
57 |
be the case). |
58 |
|
59 |
It was partially code simplicity, but moreso it's sanity from where I |
60 |
sit. Refinements of specs, packages, projects, whatever, is numerical |
61 |
and increasing to indicate later revisions. |
62 |
EAPI="the horny toad" ain't going to happen (nor should it), imo. |
63 |
~harring |