Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] EAPI cleanups and fixes
Date: Mon, 03 Oct 2005 23:36:08
Message-Id: 20051003233549.GI23585@nightcrawler
In Reply to: Re: [gentoo-portage-dev] [PATCH] EAPI cleanups and fixes by Jason Stubbs
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