On 07/07/2012 11:54 AM, Peter Stuge wrote: > Ian Stakenvicius wrote: >>> Is it unrealistic to assume that upstream ABI providers will mark >>> their ABIs by using sonames correctly? >>> >>> Maybe that is at least the common case, then ABI_SLOT could be set >>> automatically. >> >> Although we have a lot of this information available (which is why/how >> @preserved-libs works, for instance), there is no way for portage to >> know *prior to emerging the update* if abi has changed. > > Knowing that a library changes ABI before building is nice, but not > relying on a human to encode this is nicer still. > > After compile, before install, there is an opportunity to show the > effects of installing the package. > > I'm only talking about the context of the developer who is adding the > new ebuild. So ABI_SLOT (or / SLOT) would be set automatically just > once, in the process of committing the ebuild.
Well, if you're talking about having portage automatically edit the ebuild, I don't think we want to do that. If developers use portage-2.2_alpha with preserve-libs, then they'll know automatically when there's an SONAME change that triggers preserve-libs. Part of the beauty of the approach used in EAPI 4-slot-abi is that that it can be used to trigger rebuilds in cases that don't even involve SONAME dependencies (consider a "pure" perl module that only needs to be rebuilt in order to install its interpreted *.pm files in a different directory for a new version of perl). > No need to repeat the > binary analysis - except if one source package has different ABI for > different ARCHes. Fun! It might be nice to add some binary analysis things beyond preserve-libs in the future. However, EAPI 4-slot-abi should work quite well even without that. It just automates rebuilds [1] that the user was previously required to handle manually, when prompted by elog messages, or by running tools like revdep-rebuild and perl-cleaner. It's being tested in the axs overlay [2], and it seems to be working pretty well. [1] http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/ [2] http://git.overlays.gentoo.org/gitweb/?p=dev/axs.git;a=summary -- Thanks, Zac