1 |
On 14:20 Tue 20 Sep , Brian Harring wrote: |
2 |
> On Sun, Sep 18, 2011 at 10:16:46PM -0500, Donnie Berkholz wrote: |
3 |
> > OK, so the implication of what you're saying is that everything in |
4 |
> > eutils.eclass, base.eclass, toolchain-funcs.eclass, |
5 |
> > flag-o-matic.eclass, versionator.eclass, multilib.eclass, |
6 |
> > prefix.eclass, savedconfig.eclass, and maybe even linux-info.eclass |
7 |
> > and autotools{,-utils}.eclass should go into EAPI. All that stuff is |
8 |
> > pretty generally useful features. |
9 |
> |
10 |
> Approximately... yes. Some of that (base.eclass for example) is EAPI |
11 |
> compatibility that can't be folded in (would require retroactively |
12 |
> addding to an EAPI), others aren't yet stabilized (true multilib for |
13 |
> example, seems to still be under discussion), etc. |
14 |
> |
15 |
> You get the jist. |
16 |
|
17 |
Yep, and I'm completely on the opposite end of the spectrum. =) |
18 |
|
19 |
> > > They should, but api compatibility of an eclass *can* be fluid- in |
20 |
> > > the past it was a locked API purely because of portage environment |
21 |
> > > saving issues. That's been resolved, there isn't any strict |
22 |
> > > requirement that the eclass maintain API compat now. You're |
23 |
> > > trying to rely on people doing best practices- for format building |
24 |
> > > blocks (use_with/usex/unpack/etc), that's not sane. |
25 |
> > |
26 |
> > Which still pisses me off. It's like a shared library changing its |
27 |
> > API without bumping SONAME. |
28 |
> |
29 |
> I think you're viewing this wrong; if we're talking about openssl |
30 |
> breaking API/ABI w/out bumping soname, sure. It's one component that |
31 |
> is distributed alone, but consumed by others. There is no way to |
32 |
> atomically deploy the new API at the same time as all of the consumers |
33 |
> being updated for it. |
34 |
> |
35 |
> That is /not/ the case of gentoo-x86; eclasses for us are equivalent |
36 |
> to bundled libs. Overlay stacking just makes it possible for a third |
37 |
> party component to reach in and use what is effectively an internal |
38 |
> lib. |
39 |
|
40 |
Not really, because when you update a bundled lib you actually make your |
41 |
whole app compile with it. People change the APIs of eclasses and then |
42 |
just let every internal consumer (ebuilds in gentoo-x86) break. Maybe if |
43 |
we put the burden on the one who changed the API, like the Linux kernel |
44 |
model, it would bother me less. |
45 |
|
46 |
-- |
47 |
Thanks, |
48 |
Donnie |
49 |
|
50 |
Donnie Berkholz |
51 |
Council Member / Sr. Developer |
52 |
Gentoo Linux |
53 |
Blog: http://dberkholz.com |