Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] About forcing rebuilds of other packages issue
Date: Sat, 07 Jul 2012 20:19:38
Message-Id: 4FF8999D.2080508@gentoo.org
In Reply to: Re: [gentoo-dev] About forcing rebuilds of other packages issue by Peter Stuge
1 On 07/07/2012 11:54 AM, Peter Stuge wrote:
2 > Ian Stakenvicius wrote:
3 >>> Is it unrealistic to assume that upstream ABI providers will mark
4 >>> their ABIs by using sonames correctly?
5 >>>
6 >>> Maybe that is at least the common case, then ABI_SLOT could be set
7 >>> automatically.
8 >>
9 >> Although we have a lot of this information available (which is why/how
10 >> @preserved-libs works, for instance), there is no way for portage to
11 >> know *prior to emerging the update* if abi has changed.
12 >
13 > Knowing that a library changes ABI before building is nice, but not
14 > relying on a human to encode this is nicer still.
15 >
16 > After compile, before install, there is an opportunity to show the
17 > effects of installing the package.
18 >
19 > I'm only talking about the context of the developer who is adding the
20 > new ebuild. So ABI_SLOT (or / SLOT) would be set automatically just
21 > once, in the process of committing the ebuild.
22
23 Well, if you're talking about having portage automatically edit the
24 ebuild, I don't think we want to do that. If developers use
25 portage-2.2_alpha with preserve-libs, then they'll know automatically
26 when there's an SONAME change that triggers preserve-libs. Part of the
27 beauty of the approach used in EAPI 4-slot-abi is that that it can be
28 used to trigger rebuilds in cases that don't even involve SONAME
29 dependencies (consider a "pure" perl module that only needs to be
30 rebuilt in order to install its interpreted *.pm files in a different
31 directory for a new version of perl).
32
33 > No need to repeat the
34 > binary analysis - except if one source package has different ABI for
35 > different ARCHes. Fun!
36
37 It might be nice to add some binary analysis things beyond preserve-libs
38 in the future. However, EAPI 4-slot-abi should work quite well even
39 without that. It just automates rebuilds [1] that the user was
40 previously required to handle manually, when prompted by elog messages,
41 or by running tools like revdep-rebuild and perl-cleaner. It's being
42 tested in the axs overlay [2], and it seems to be working pretty well.
43
44 [1]
45 http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/
46 [2] http://git.overlays.gentoo.org/gitweb/?p=dev/axs.git;a=summary
47 --
48 Thanks,
49 Zac