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 1M5V1q-0005SQ-JH for garchives@archives.gentoo.org; Sun, 17 May 2009 01:19:02 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9B241E04E3; Sun, 17 May 2009 01:19:01 +0000 (UTC) Received: from outgoing-mail.its.caltech.edu (outgoing-mail.its.caltech.edu [131.215.239.19]) by pigeon.gentoo.org (Postfix) with ESMTP id 64948E04E3 for ; Sun, 17 May 2009 01:19:01 +0000 (UTC) Received: from earth-doxen.imss.caltech.edu (localhost [127.0.0.1]) by earth-doxen-postvirus (Postfix) with ESMTP id 0C31E66E4176 for ; Sat, 16 May 2009 18:19:01 -0700 (PDT) X-Spam-Scanned: at Caltech-IMSS on earth-doxen by amavisd-new Received: from [131.215.168.112] (DHCP-168-112.caltech.edu [131.215.168.112]) (Authenticated sender: nfortino) by earth-doxen-ssl (Postfix) with ESMTP id DB37466E41B6 for ; Sat, 16 May 2009 18:18:59 -0700 (PDT) Message-ID: <4A0F659A.4070803@gmail.com> Date: Sat, 16 May 2009 18:17:14 -0700 From: Nick Fortino User-Agent: Thunderbird 2.0.0.21 (X11/20090429) 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: <20090514225337.34df7dac@snowcone> <20090515194329.GA16382@linux1> <20090515204905.54aa6a5c@snowmobile> <20090516092710.GA3221@eric.schwarzvogel.de> <20090516151216.15efc792@snowmobile> <20090516153224.GA4964@eric.schwarzvogel.de> <20090516163421.32935cbc@snowmobile> <20090516154332.GA6646@eric.schwarzvogel.de> <20090516164903.261df865@snowmobile> <1242491708.7309.3.camel@peripatetic.hades> <20090516163908.GB11144@dodo.hsd1.nj.comcast.net> <1242492270.7309.6.camel@peripatetic.hades> <20090516174730.1d7dd5b7@snowmobile> <1242492844.7309.9.camel@peripatetic.hades> <20090516175931.7756060d@snowmobile> <1242493786.7309.17.camel@peripatetic.hades> <20090516185508.0fd02f0e@snowmobile> <4A0F4EBC.5020706@gmail.com> <20090517004842.61834397@snowmobile> In-Reply-To: <20090517004842.61834397@snowmobile> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: 5340244f-2947-45c9-b4be-1f29238b3c5a X-Archives-Hash: d26ebfbc755d148cc20686af21d18b26 Ciaran McCreesh wrote: > On Sat, 16 May 2009 16:39:40 -0700 > Nick Fortino wrote: > >> Given the above, it should be clear that any argument which states >> some future improvement to the ebuild format will be impossible based >> upon making the wrong choice between proposal 1 and proposal 2 must be >> invalid, as they have the same expressive power. Note that allowable >> algorithms for which the proof works includes caching and version >> ordering as well as the simple execution of the ebuild. >> > > Unfortunately, your argument is entirely wrong, as can be illustrated > by a simple counter-example that you would already know about, had you > read the GLEP or the thread. > > With EAPI in a fixed format, it is impossible to allow extensions to the > version format in future EAPIs. Even given a fixed format and a constant > extension, adding foo-1.23-rc1.ebuild will cause breakage, but adding > foo-1.23-rc1.ebuild-4 will not. > > This has already been covered at length, and is explained in the GLEP. > Why did you disregard this when posting your 'proof'? > > I didn't intentionally disregard that case, but I see your point. I made the assumption that package mangers wouldn't try to source ebuilds with a sourcing EAPI they didn't understand. I concede this is a terrible assumption, unless such a thing is specified in the PMS itself. It is still fixed by a single extension change, as opposed to a whole set. Once this is done, simply state that all package managers should ignore EAPIs they don't understand (a requirement of GLEP-55 as well). Your point still does not dispute that specifying the EAPI within the ebuild and outside the ebuild convey identical information (this is all I was trying to prove in the first place). For the case you bring up: If foo-1.23-rc1.ebuild is added, it must not be in any of the currently existing EAPIs, for if it were, it would be illegal. Thus, a package manager would open this file, get the sourcing EAPI in an EAPI independent way, realize it doesn't understand, and abort the sourcing of that ebuild. Changing the extension once insures current package managers don't try to do things they aren't capable of (I apologize for not putting this in my first mailing). Given this change, however, I still assert the statement of the two schemes have identical expressive power. For versioning, it has been pointed out (by you and others) that getting the latest version would require, under any implementation, opening N files in case 1, and reading N file names in case 2. I do not dispute this in any way. Instead, I would like to point out that moving the argument from features which are possible to support (which I still contend are essentially identical), to efficiency vs. a perceived prettiness would be significant progress. Indeed, at this point it would be possible to make a decision based on reference implementations for known common use cases, and an executive council decision about whether timing or extension consistency is more important. If it turns out that using a solution of type 1 takes minutes to resolve versions, than by all means, GLEP-55 is by far the best proposed solution. If, instead, the runtime difference in real use cases is negligible, then the pure philosophical arguments for using a single extension holds true (in my opinion). Nick Fortino