Steven J Long <sl...@rathaus.eclipse.co.uk> posted
1565621.wyyjxms...@news.friendly-coders.info, excerpted below, on  Tue, 02
Jun 2009 09:20:34 +0100:

> Personally I favour restricting the EAPI='blah' line (which imo should
> simply be single-quoted to avoid escaping issues, but whatever: it's
> easy enough to lex in C, so I fail to see the issue lexing it anywhere
> else) to before the inherit line _in_ _the_ _spec_ since no-one has
> given any reason why we should want to do anything else, and afaik
> repoman will warn about it anyhow.
> 
> Could *you* explain to us, why that restriction is such a bad thing?

Me?  I'm afraid you have *me* mistaken for someone else, or at least my 
position mistaken for that of someone else.

I actually happen to agree with your statement of opinion as quoted 
above, now put in my own words, that an in-ebuild EAPI='blah' line (or 
similar in-ebuild equivalent, shebangs, etc), suitably restricted in 
position and value, complete with single quotes to avoid escaped-char 
issues, is sufficient.  Either wait a suitable time or change the ebuild 
extension *ONCE* to ensure all actively supported PMs work with this 
before the first otherwise disruptive global change (as to say filename 
version information, but that's a separate issue), and run with it.

Plus the in-extension (or in-filename) solution has very similar 
restrictions. so it's not about the question of adding EAPI restrictions, 
that's a given either way.  We can just add them to the existing in-file 
solution and get on with the show, with the same ultimate extensibility 
benefits and very similar restrictions either way, so we might as /well/ 
just go with simple restrictions on the current solution, and be done 
with it.

If the pre-source parsing is slower than the eapi-in-extension (or in 
filename) solution, so be it.  It works technically, and the speed trade-
off for non-technical aesthetic sensibilities and semi-technical design 
is manageable and IMO a worthwhile tradeoff.  After all, Gentoo users and 
developers both obviously have other priorities than installation speed, 
or they'd be using a binary distribution and packages.

But, particularly if we're going the *single* extension change route 
anyway, it's a great opportunity to do any useful cache file format 
changes, like say, a single unified metadata file for all versions of a 
package, or all in a category, or adding tags or similar metadata so for 
instance kmail can show up in both the kde-base and mail client 
categories.  While doing that, the speed penalty of in-file EAPI can be 
mitigated or entirely eliminated as well, so it becomes a non-issue.  
However, cache structure changes would need debated and are an entirely 
different issue, while meanwhile, we can formalize the in-file EAPI 
restrictions now and get on with business, living with the slow-down 
temporarily if it comes to that.

So no, I'm NOT going to attempt to explain why the restriction is such a 
bad thing, as I don't believe it myself, and there's plenty of others to 
argue the point better than I could play devil's advocate.

The point I made, however, was entirely separate, that being that 
regardless of one's personal feelings on GLEP55 and the merits of its 
implementation, we're likely to be stuck with it, as nobody has bothered 
formulating a properly constructed alternative solution.

As for whether there's even a problem, the council did vote that in 
principle, they did see the problem, and I agree, there are global format 
restrictions in the current EAPI due to the /lack/ of specifics in the 
EAPI assignment rules that ARE a problem in terms of flexibility.  So 
while I don't particularly care about _ vs. - and -scm vs lack thereof, 
problems like allowable bash version features do crop up from time to 
time, and they'd be MUCH easier handled if the EAPI could handle them 
without worry about breakage, as it could if it were parseable before 
sourcing, and I thus see a problem that GLEP55 among other solutions, 
would solve.  Then we're back to my point, that GLEP55 being the only 
formalized proposed solution, it's likely to be the ultimately accepted 
one, regardless of the merits, because when it comes down to it, it's the 
suitably hashed out and formally defined choice out there.

> In summary: the existing design, including harring's EAPI, suffices for
> all the 'problems' raised. The most we need to do is specify that the
> mangler is allowed to extract the EAPI without sourcing, the
> restrictions that enable this, and that global-scope EAPI functions
> (including a later BASH version) are consequently allowed.

So you're saying the current solution, with a few minor changes, is 
enough, while I'm saying the current solution as-is, is not enough, and 
needs at least minor changes.

I think we're in violent agreement there! =:^)

I'm simply adding that whatever one's position on GLEP55 and its 
suitability, given that it's remains the only formally defined proposal 
after YEARS of debate, it's likely to be the one adopted, for lack of an 
alternative.  The opposition is demonstrating by its actions that it 
simply doesn't care enough about it to be motivated to provide a 
sufficiently defined alternative, since it hasn't done so.  If there's 
anyone out there who'd be sufficiently disappointed by that to actually 
care enough to do something about it, they should consider themselves 
lucky GLEP55 hasn't been adopted already, and they better get crackin', 
as every day that goes by without a suitably formalized alternative is a 
day closer to GLEP55 being adopted simply because it's the only 
alternative suitably well defined /to/ be adopted.

> In the meantime, while we've been discussing this for God knows how
> long, we still don't have LDEPENDs, nor do we have elibs which harring
> envisaged alongside eclasses and EAPI in the first place. "Broken
> process" afaic.

I'd tend to agree.

> Oh btw, -scm [sic] suffix doesn't add ANYTHING to the existing cvs.
> prefix that's been available in portage for at least 3 years; it's a
> binary datum, either there or not. "Innovation" is not what I'd call all
> this.

Indeed.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to