List Archive: gentoo-dev
| Navigation: |
|
Lists:
gentoo-dev:
< Prev
By Thread
Next >
< Prev
By Date
Next >
|
| Headers: |
|
To:
|
gentoo-dev@g.o
|
|
From:
|
Richard Freeman <rich0@g.o>
|
|
Subject:
|
Re: Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)
|
|
Date:
|
Tue, 24 Feb 2009 10:46:30 -0500
|
|
Alistair Bush wrote:
> 4) Parsing the ebuild. But what are we parsing?, lets not limit
> ourselves to bash, we might want to change languages completely. If it
> is bash, what version, what if EAPI is set multiple times, what if its
> set in an eclass.
How do you do this if you're getting EAPI from the filename? How do you
set it multiple times? How do you set it in an eclass if you're getting
it from the filename?
It seems like when we're talking about just putting the EAPI in a
comment line on line x of the ebuild we're barraged with 47 ways that it
will limit us, but when we're talking about EAPI in the filename
suddenly we're not concerned with those limitations. If it helps maybe
we need to split EAPI into two records - one that deals with how to
fundamentally parse the file and find out the EAPI, and the other that
implements everything else the EAPI does.
I will certainly concede that putting it inside the ebuild potentially
breaks compatibility with existing package managers. That is certainly
a downside to this approach. However, none of the other objections that
have been raised appear to hold water. An EAPI in a filename is a blob
of text that needs to be parsed out in one particular way with one set
of system calls. An EAPI embedded in the file is a blob of text that
needs to be parsed out in one particular way with one set of system calls.
And if backwards compatibility were a serious issue you could define a
new ".ebuild2" file spec that incorporates the EAPI inside the file and
current package managers would ignore it. Then you're not changing the
file extension every time a new EAPI comes along, and the need to do so
could be handled via future GLEPs. Or we could just delay
implementation and clean up existing package managers and tell users to
migrate.
|
|