1 |
On Tue, Dec 27, 2005 at 01:03:49AM +0000, Ciaran McCreesh wrote: |
2 |
> On Mon, 26 Dec 2005 16:57:07 -0800 Brian Harring <ferringb@g.o> |
3 |
> wrote: |
4 |
> | Not saying it's a great idea, but EAPI exists to provide immediate |
5 |
> | transition to incompatible changes instead of the usual "work out a |
6 |
> | semi backwards compatible way, don't use it for 6 months, then deal |
7 |
> | with the bugs". |
8 |
> |
9 |
> Addition of any new dependency filtering criterion is a backwards |
10 |
> incompatible change anyway. If you add, say, [fish:trout] and older |
11 |
> versions of Portage don't recognise [fish:], there's no way for said |
12 |
> older Portage versions to know what to do. Being able to parse |
13 |
> additional DEPEND constructs is not sufficient. |
14 |
|
15 |
Guessing you're missing how EAPI works. The scenario you're pointing |
16 |
at isn't an issue for EAPI aware portage versions. |
17 |
|
18 |
If portage doesn't know of that EAPI version, it flat out won't do |
19 |
_any_ operations on that package; it's filtered out of available |
20 |
packages. |
21 |
|
22 |
Hell, we don't even store the metadata in the cache- the reasoning |
23 |
being that if we don't know of that EAPI version, there is _no_ |
24 |
gurantee we'll even be processing the metadata dumped from ebuild.sh |
25 |
properly (nor that ebuild.sh will produce proper metadata for that eapi). |
26 |
|
27 |
So... for scenario above, portage sees the differing EAPI, masks the |
28 |
package on it's own- the new dependency format isn't seen, nor |
29 |
processed by portage. |
30 |
|
31 |
Like I said, via EAPI we can effectively break whatever we want format |
32 |
wise, do a total quick cut over without breaking older eapi aware |
33 |
portages (this is the reason eapi exists). |
34 |
|
35 |
Non eapi aware portage's will be boned, but so it goes. They're going |
36 |
to be progressively more screwed the further we go portage wise |
37 |
anyways, so it's something of a lost cause (imo). |
38 |
~harring |