[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    Re: [gentoo-dev] eapi files and profiles
From:       Brian Harring <ferringb () gmail ! com>
Date:       2009-10-23 21:04:25
Message-ID: 20091023210425.GA7171 () hrair
[Download RAW message or body]


On Fri, Oct 23, 2009 at 11:24:27AM +0300, Samuli Suominen wrote:
> So I was told Council needs to approve inheritance of eapi files from
> parent profiles?
> 
> I'm not sure why, because we shouldn't have any files in default/linux/
> which was decided long ago when the new profiles was introduced...
> 
> gentoo-x86/profiles/default/linux $ find ./ -name eapi | wc -l
> 63
> 
> That's 63 duplicated files. We should only have one releases/10.0/eapi
> file, and others wouldn't be required as it would cover all the 10.0
> profiles.
> 
> See, http://bugs.gentoo.org/288320
> 
> Can we get a decision on this soon, so we can drop the duplication for
> 10.1 (or whatever the name for next profile set will be called) ?

This is going to break compatibility for pkgcore at least- we limit 
what forms of atoms are allowed dependant on the eapi of that profile 
node.  I'd hope paludis does the same- I know portage doesn't however.

Further... the more I think about this, the more I'm inclined to think 
this will blow someones foot off.  If the eapi is inherited from the 
parent, what happens when the parent switches to an EAPI that changes 
the atom parsing rules?  Specifically, *restricts* the atom parsing 
rules?

Say that we got rid of the ~ operator w/in EAPI4.  '~' is completely 
valid in the default EAPI=0; if the parent profile switches to EAPI4, 
it suddenly breaks parsing of any defaulted EAPI that used revision 
matching.

So... inheritance sucks.  It gets worse when you have user 
configuration (custom profiles) inheriting from gentoo-x86 provided 
profiles- I'd expect user config to use things that are more cutting 
edge.

Alternative approach- the default EAPI currently is 0, and isn't 
overridable.  Add a file into the base of the profile directory that 
specifies the default EAPI.

Via that, you can do your file optimizations- if the majority of 
profile nodes are eapi=2, then you set the default to 2 and update the 
nodes that were reliant on the previous default.

Note this still requires having this change sit in the tree for a 
while for compatibilty reasons- but it is a good idea regardless to 
avoid requiring EAPI to be specified for every single profile node 
when we've hit EAPI=7....

~harring

[Attachment #3 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic