Gentoo Archives: gentoo-council

From: Luca Barbato <lu_zero@g.o>
To: Ryan Hill <dirtyepic@g.o>
Cc: gentoo-council@g.o
Subject: Re: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009
Date: Sun, 22 Feb 2009 23:37:53
In Reply to: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009 by Ryan Hill
Ryan Hill wrote:
> On Fri, 20 Feb 2009 00:11:32 +0300 > Peter Volkov <pva@g.o> 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.
I guess that principle of the least surprise counts there.
> They have the same advantages, arguments about aesthetics aside, and > seem to be a much cleaner solution than any other that has been > proposed.
Using either manifests and or switch sync path is even less invasive if you consider that point raised against the proposal to switch extensions every time something changes in the ebuild format is that is misleading.
> 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.
Portage should warn/die if stray files are present. So the whole thing looks to me as a way to harness a bug.
> 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.
As stated before this eapi had been considered a ugly solution looking for problems to solve.
> With a format such as .ebuild.eapiX we would avoid these issues.
Using manifest to have portage validate/invalidate ebuilds works as well and is completely transparent.
> 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.
> 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.
Usually in order to get something changed is the burden of the proponents make it worthy for everybody else. Moreover if the change causes any annoyance, its usefulness has to be considered superior to the damage. We got people that annoyed about this proposal that they stated they'll quit if it is passed.
> 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?
Manifest2 is backward compatible to manifest1 by ignoring lines it couldn't parse, so if we have portage embed the eapi information there we'd archive the same result being completely transparent. This proposal is in the migration-paths document, why we shouldn't use a less invasive approach, that is using pretty much the same principle but doesn't have the shortcoming the extension rename ? lu -- Luca Barbato Gentoo Council Member Gentoo/linux Gentoo/PPC


Subject Author
Re: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009 Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>