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 |