On Fri, 20 Feb 2009 00:11:32 +0300 Peter Volkov wrote: > That said, technically there are other solutions for this problem, > e.g. 1) it is possible to read one line of defined format from any > file 2) it is possible to make eapi inside ebuild name > (foo-1.0-eapi2.ebuild), but not as extension. Any solution, even > breaking compatibility solution, we could already start using if we > had forgotten about GLEP 55 long time ago... I really don't understand why foo-0.1.eapi3.ebuild is considered an acceptable solution and foo-0.1.ebuild.eapi3 is not. They have the same advantages, arguments about aesthetics aside, and seem to be a much cleaner solution than any other that has been proposed. But the former has one distinct disadvantage that the latter does not: any currently released version of portage does not work correctly with ebuilds having version suffixes it does not recognize. For example, you cannot currently create a Manifest in a package directory containing a file named package-1.0.eapi3.ebuild. We can modify portage, of course, to recognize this suffix, and then wait long enough for that release to trickle down. But later, if we want to add another suffix, -scm perhaps, or something we haven't considered yet, we again have to go through the same process. I thought the reason we introduced EAPI was to free us from this. It may seem a minor gripe, but it doesn't take much imagination to come up with other scenarios where this could become a bigger problem. With a format such as .ebuild.eapiX we would avoid these issues. Portage (without any modifications) will not recognize these files as ebuilds (which is exactly the behaviour we want if it doesn't understand the EAPI), so the format of the version string is moot. We could introduce -scm (or whatever) in EAPI X, and be able to use it immediately. Your argument that the .ebuild file suffix is required by convention does not hold water. Ebuilds are not bash scripts. They are specialized scripts for package management that happen to be written in bash ;). You make the point yourself that if you wanted to implement a new ebuild format or change the language ebuilds are written in, you would change the extension to something else. I'd like to argue that we've already done so twice and I hear number 3 is coming real soon now. > Putting GLEP 55 infinite number of times on council agenda makes me > feel that this issue has something common with perpetuum mobile. At > least I'd like similar resolution from our council as the Royal > Academy of Sciences in Paris did in 1775. It's hard to tell anything > new about GLEP 55 but people still don't like it, so, council, > please, ban it forever and let something else arise. I'm sorry, but until you come up with a better reason than "it's tradition", I'm afraid this will continue to be submitted indefinitely. You will have to provide technical objections why this approach is unacceptable before anyone can come up with something that is. Here is an example, to get you started: If a Manifest is generated using a portage version that supports an EAPI and recognizes a package atom containing a version suffix that was added in that EAPI as an ebuild and thus categorizes it as EBUILD in the Manifest, do portage versions that do not support the EAPI have trouble when they see the entry marked EBUILD for a package atom they think is invalid? -- gcc-porting, by design, by neglect treecleaner, for a fact or just for effect wxwidgets @ gentoo EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662