--- xml/htdocs/proj/en/glep/glep-0055.html 2009/05/17 20:56:53 1.5 +++ xml/htdocs/proj/en/glep/glep-0055.html 2010/04/07 22:12:52 1.6 @@ -4,252 +4,9 @@ - + GLEP 55 -- Use EAPI-suffixed ebuilds (.ebuild-EAPI) - + @@ -270,9 +27,9 @@ - + - + @@ -384,7 +141,7 @@ !!! One of the following masked packages is required to complete your request: - sys-apps/foo-1 (masked by: corruption) -

Current portage looks for eclasses only in the eclass directory of a +

Current portage looks for eclasses only in the eclass directory of a repository. This results in a fatal error and ebuild being masked by corruption - might be pretty confusing to users.

@@ -425,7 +182,7 @@

Use newer bash features

-

|& is a new type of redirection added in bash-4. It cannot be used even in +

|& is a new type of redirection added in bash-4. It cannot be used even in local scope as bash still parses the whole ebuild.

sys-apps/foo-1.ebuild:

@@ -475,13 +232,13 @@
 

The proposed solution is to use EAPI-suffixed file extensions for ebuilds. This allows package managers to trivially read the EAPI from the ebuild filename. It is also backwards compatible, because currently ebuilds are recognised by the -.ebuild file extension and hence EAPI-suffixed ebuilds are simply ignored by +.ebuild file extension and hence EAPI-suffixed ebuilds are simply ignored by the package managers.

Specification

-

Ebuild filename extension syntax: ebuild[-<EAPI>], where [] denotes an -optional part, and <EAPI> is the EAPI of the ebuild.

+

Ebuild filename extension syntax: ebuild[-<EAPI>], where [] denotes an +optional part, and <EAPI> is the EAPI of the ebuild.

The EAPI used by the ebuild is the EAPI included in the filename if it is set. Otherwise the EAPI set inside the ebuild is used, which defaults to 0 (this is the current behaviour).

@@ -519,7 +276,7 @@ are equivalent, i.e. installing any of them has exactly the same effect on a given system.

Also note that it is not a new restriction. It is already possible to illegally -have multiple versions with different EAPIs as e.g. 1.0 == 1.00 == 1.00-r0 +have multiple versions with different EAPIs as e.g. 1.0 == 1.00 == 1.00-r0 and hence you could have foo-1.0.ebuild with EAPI X and foo-1.00.ebuild with EAPI Y.

@@ -662,7 +419,7 @@