Gentoo Archives: gentoo-dev

From: Donnie Berkholz <dberkholz@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] new `usex` helper
Date: Wed, 21 Sep 2011 13:12:46
Message-Id: 20110921131156.GA3640@comet
In Reply to: Re: [gentoo-dev] new `usex` helper by Brian Harring
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

Replies

Subject Author
Re: [gentoo-dev] new `usex` helper Alec Warner <antarus@g.o>