1 |
On 07/10/2013 08:43 PM, Robin H. Johnson wrote: |
2 |
> On Wed, Jul 10, 2013 at 11:36:44PM -0400, Rick "Zero_Chaos" Farina wrote: |
3 |
>> On 07/10/2013 10:03 PM, Robin H. Johnson wrote: |
4 |
>>> On Fri, Jul 05, 2013 at 09:27:46PM -0700, Brian Dolbec wrote: |
5 |
>>>> The other thing we needed to do was completely remove the use of |
6 |
>>>> or building of binpkgs during the update_seed stage. Portage has |
7 |
>>>> no capability to check binpkg linking to ensure the binpkg was |
8 |
>>>> properly usable. |
9 |
>>> Can somebody actually please implement this, to run before the |
10 |
>>> binpkg merge phase? |
11 |
>> Please be more specific, this is currently implemented... |
12 |
> I was partially responding to dolsen's comment that it wasn't capable, |
13 |
> as well as a discussion I had with somebody on the ChromeOS team a few |
14 |
> months ago. |
15 |
> |
16 |
> In the ChromeOS case, if a library was removed off the system, but |
17 |
> Portage still thought it was there, and you went to install a binpkg |
18 |
> that had an ELF dependency on the removed library, you'd have broken |
19 |
> binaries on the system. |
20 |
|
21 |
Ideally, this would be handled entirely by EAPI 5 slot-operator |
22 |
dependencies. However, it seems like we'll need some form of sub-slot |
23 |
pass-through [1] and/or sub-slot dictionaries [2] before we'll be able |
24 |
to achieve complete adoption of slot-operators. |
25 |
|
26 |
Meanwhile, adding a preinst sanity check seems like a good idea. The |
27 |
LinkageMap class that's used for preserve-libs already has all of the |
28 |
info that we need about installed libraries, so it's just a matter of |
29 |
checking the binary package's NEEDED.ELF.2 entries against that. |
30 |
|
31 |
[1] https://bugs.gentoo.org/show_bug.cgi?id=449094 |
32 |
[2] https://bugs.gentoo.org/show_bug.cgi?id=462138 |
33 |
-- |
34 |
Thanks, |
35 |
Zac |