1 |
Unfortunately Portage and Pkgcore have broken EAPI 2 implementations. |
2 |
So far as I can see: |
3 |
|
4 |
Portage: |
5 |
|
6 |
* doesn't implement the 'default' function correctly for src_prepare. |
7 |
|
8 |
Pkgcore: |
9 |
|
10 |
* doesn't implement src_prepare |
11 |
* doesn't have a working default |
12 |
* default_src_configure and default_src_prepare are the only |
13 |
default_s that work |
14 |
|
15 |
Unfortunately, neither appears to have comprehensive unit tests |
16 |
covering all new EAPI 2 functionality, so these got through into |
17 |
package managers that made it into the tree. |
18 |
|
19 |
This is a bit of a mess. Possible solutions are: |
20 |
|
21 |
* Ignore it, and tell anyone using broken package managers to upgrade, |
22 |
and deal with the resulting mess. |
23 |
|
24 |
* Create a new EAPI 3 which is identical to EAPI 2. Make really really |
25 |
sure Portage and Pkgcore implement it correctly before they go into the |
26 |
tree. Deprecate EAPI 2, and convert everything using it to EAPI 3. |
27 |
|
28 |
* Avoid using any broken feature, and retroactively remove the |
29 |
definitions from EAPI 2. Unfortunately, this probably isn't viable |
30 |
because of the src_prepare thing in Pkgcore (were it merely an |
31 |
unusable 'default' we could get away with this). |
32 |
|
33 |
None of these are very nice. Better options would be encouraged... We |
34 |
have to do *something*, though, because this is hitting users already |
35 |
(see bug 240684 for one). |
36 |
|
37 |
-- |
38 |
Ciaran McCreesh |