1 |
On Fri, Oct 23, 2009 at 11:24:27AM +0300, Samuli Suominen wrote: |
2 |
> So I was told Council needs to approve inheritance of eapi files from |
3 |
> parent profiles? |
4 |
> |
5 |
> I'm not sure why, because we shouldn't have any files in default/linux/ |
6 |
> which was decided long ago when the new profiles was introduced... |
7 |
> |
8 |
> gentoo-x86/profiles/default/linux $ find ./ -name eapi | wc -l |
9 |
> 63 |
10 |
> |
11 |
> That's 63 duplicated files. We should only have one releases/10.0/eapi |
12 |
> file, and others wouldn't be required as it would cover all the 10.0 |
13 |
> profiles. |
14 |
> |
15 |
> See, http://bugs.gentoo.org/288320 |
16 |
> |
17 |
> Can we get a decision on this soon, so we can drop the duplication for |
18 |
> 10.1 (or whatever the name for next profile set will be called) ? |
19 |
|
20 |
This is going to break compatibility for pkgcore at least- we limit |
21 |
what forms of atoms are allowed dependant on the eapi of that profile |
22 |
node. I'd hope paludis does the same- I know portage doesn't however. |
23 |
|
24 |
Further... the more I think about this, the more I'm inclined to think |
25 |
this will blow someones foot off. If the eapi is inherited from the |
26 |
parent, what happens when the parent switches to an EAPI that changes |
27 |
the atom parsing rules? Specifically, *restricts* the atom parsing |
28 |
rules? |
29 |
|
30 |
Say that we got rid of the ~ operator w/in EAPI4. '~' is completely |
31 |
valid in the default EAPI=0; if the parent profile switches to EAPI4, |
32 |
it suddenly breaks parsing of any defaulted EAPI that used revision |
33 |
matching. |
34 |
|
35 |
So... inheritance sucks. It gets worse when you have user |
36 |
configuration (custom profiles) inheriting from gentoo-x86 provided |
37 |
profiles- I'd expect user config to use things that are more cutting |
38 |
edge. |
39 |
|
40 |
Alternative approach- the default EAPI currently is 0, and isn't |
41 |
overridable. Add a file into the base of the profile directory that |
42 |
specifies the default EAPI. |
43 |
|
44 |
Via that, you can do your file optimizations- if the majority of |
45 |
profile nodes are eapi=2, then you set the default to 2 and update the |
46 |
nodes that were reliant on the previous default. |
47 |
|
48 |
Note this still requires having this change sit in the tree for a |
49 |
while for compatibilty reasons- but it is a good idea regardless to |
50 |
avoid requiring EAPI to be specified for every single profile node |
51 |
when we've hit EAPI=7.... |
52 |
|
53 |
~harring |