From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1M4uun-00056T-Kx for garchives@archives.gentoo.org; Fri, 15 May 2009 10:45:21 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0DBA2E04CC; Fri, 15 May 2009 10:44:49 +0000 (UTC) Received: from vms173019pub.verizon.net (vms173019pub.verizon.net [206.46.173.19]) by pigeon.gentoo.org (Postfix) with ESMTP id EC2DDE04CC for ; Fri, 15 May 2009 10:44:48 +0000 (UTC) Received: from gw.thefreemanclan.net ([68.162.77.227]) by vms173019.mailsrvcs.net (Sun Java(tm) System Messaging Server 6.3-7.04 (built Sep 26 2008; 32bit)) with ESMTPA id <0KJO004AOLUOTRLW@vms173019.mailsrvcs.net> for gentoo-dev@lists.gentoo.org; Fri, 15 May 2009 05:44:48 -0500 (CDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) by gw.thefreemanclan.net (Postfix) with ESMTP id C07421759C56 for ; Fri, 15 May 2009 06:44:47 -0400 (EDT) Message-id: <4A0D479F.7040107@gentoo.org> Date: Fri, 15 May 2009 06:44:47 -0400 From: Richard Freeman User-Agent: Thunderbird 2.0.0.21 (X11/20090321) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-version: 1.0 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] The fallacies of GLEP55 References: <200905142006.51998.patrick@gentoo.org> <20090514193907.56754ae6@snowcone> In-reply-to: <20090514193907.56754ae6@snowcone> Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7bit X-Archives-Salt: 01127e8e-fd27-495f-b8d0-64549d83410b X-Archives-Hash: 92dc568a3e8277818ae4091c0eaba681 Ciaran McCreesh wrote: > On Thu, 14 May 2009 20:06:51 +0200 > Patrick Lauer wrote: >> Let EAPI be defined as (the part behind the = of) the first line of >> the ebuild starting with EAPI= > > Uh, so horribly utterly and obviously wrong. > > inherit foo > EAPI=4 > > where foo is both a global and a non-global eclass that sets metadata. > This seems to come up from time to time but I don't see how this is a problem that GLEP 55 solves. If the rule is "first line of the ebuild starting with EAPI=" and the ebuild is as you suggest above, then the EAPI is 4 (without any regard whatsoever to what might be in "foo"). The counterargument seems to be that eclasses should be able to modify EAPI behavior. However, if you want to do this then you DEFINITELY don't want to put the EAPI in the filename - unless you want eclasses to start renaming the ebuilds to change their EAPIs and then trigger a metadata regen. This seems to be a case where a problem is proposed, with a solution. Somebody proposes an alternate solution and the complaint is raised that it doesn't handle situation X. However, the original proposed solution doesn't handle situation X either, so that can hardly be grounds for accepting it over the alternate. I'm actually more in favor of an approach like putting the EAPI in a comment line or some other place that is more "out-of-band". Almost all modern file formats incorporate a version number into a fixed position in the file header so that it is trivial for a program to figure out whether or not it knows how to handle the file. Another common approach is to put a header-length field and add extensions to the end of a header, so that as long as you don't break past behavior you could create a file that is readable by older program versions (perhaps with the loss of some metadata that the older version doesn't understand). Just look up the UStar tar file format or the gzip file format for examples. Of course, such file formats generally aren't designed to be human-readable or created with a text editor. The same applies to executables. It is impossible from the filename to tell if /bin/bash is in a.out or ELF format, or if it is a shell script. Instead a simple standard is defined that allows the OS to figure it out and handle it appropriately. If you try to run an ELF on some ancient version of linux it doesn't crash or perform erratic behavior - it will simply tell you that it doesn't understand the file format (invalid magic number). In any case, I'm going to try to restrain myself from replying further in this thread unless something genuinely new comes up. When I see 26 new messages in my gentoo-dev folder I should know by now that somebody has managed to bring up GLEP 55 again... :)