On 07/10/2013 08:43 PM, Robin H. Johnson wrote:
> On Wed, Jul 10, 2013 at 11:36:44PM -0400, Rick "Zero_Chaos" Farina wrote:
>> On 07/10/2013 10:03 PM, Robin H. Johnson wrote:
>>> On Fri, Jul 05, 2013 at 09:27:46PM -0700, Brian Dolbec wrote:
>>>> The other thing we needed to do was completely remove the use of
>>>> or building of binpkgs during the update_seed stage.  Portage has
>>>> no capability to check binpkg linking to ensure the binpkg was
>>>> properly usable.
>>> Can somebody actually please implement this, to run before the
>>> binpkg merge phase?
>> Please be more specific, this is currently implemented...
> I was partially responding to dolsen's comment that it wasn't capable,
> as well as a discussion I had with somebody on the ChromeOS team a few
> months ago.
> 
> In the ChromeOS case, if a library was removed off the system, but
> Portage still thought it was there, and you went to install a binpkg
> that had an ELF dependency on the removed library, you'd have broken
> binaries on the system.

Ideally, this would be handled entirely by EAPI 5 slot-operator
dependencies. However, it seems like we'll need some form of sub-slot
pass-through [1] and/or sub-slot dictionaries [2] before we'll be able
to achieve complete adoption of slot-operators.

Meanwhile, adding a preinst sanity check seems like a good idea. The
LinkageMap class that's used for preserve-libs already has all of the
info that we need about installed libraries, so it's just a matter of
checking the binary package's NEEDED.ELF.2 entries against that.

[1] https://bugs.gentoo.org/show_bug.cgi?id=449094
[2] https://bugs.gentoo.org/show_bug.cgi?id=462138
-- 
Thanks,
Zac

Reply via email to