Mailing List Archive

ebuild log suggests to remove old libraries
After a recent update of dev-libs/libffi from version 3.0.10 to 3.0.11
the ebuild log suggests to run:

# revdep-rebuild --library '/usr/lib64/libffi.so.5'

and once finished running revdep-rebuild, it should be safe to
delete the old libraries, like so:

# rm '/usr/lib64/libffi.so.5'

However by querying:

equery b /usr/lib/libffi.so.5
* Searching for /usr/lib/libffi.so.5 ...
dev-libs/libffi-3.0.11 (/usr/lib64/libffi.so.5)

we see that /usr/lib64/libffi.so.5 is reported as belonging to
dev-libs/libffi-3.0.11. Is that normal?
Re: ebuild log suggests to remove old libraries [ In reply to ]
On Mon, May 21, 2012 at 1:28 PM, Thanasis <thanasis@asyr.hopto.org> wrote:
> After a recent update of dev-libs/libffi from version 3.0.10 to 3.0.11
> the ebuild log suggests to run:
>
>  # revdep-rebuild --library '/usr/lib64/libffi.so.5'
>
> and once finished running revdep-rebuild, it should be safe to
> delete the old libraries, like so:
>
>  # rm '/usr/lib64/libffi.so.5'
>
> However by querying:
>
> equery b /usr/lib/libffi.so.5
>  * Searching for /usr/lib/libffi.so.5 ...
> dev-libs/libffi-3.0.11 (/usr/lib64/libffi.so.5)
>
> we see that /usr/lib64/libffi.so.5 is reported as belonging to
> dev-libs/libffi-3.0.11. Is that normal?

I think so. It might be clearer if equery omitted the version number,
or if it tracked which versions of a package a file belonged to.

(If I'm wrong, then I suspect you found a bug)


--
:wq
Re: ebuild log suggests to remove old libraries [ In reply to ]
on 05/21/2012 08:49 PM Michael Mol wrote the following:
> On Mon, May 21, 2012 at 1:28 PM, Thanasis <thanasis@asyr.hopto.org> wrote:
>> After a recent update of dev-libs/libffi from version 3.0.10 to 3.0.11
>> the ebuild log suggests to run:
>>
>> # revdep-rebuild --library '/usr/lib64/libffi.so.5'
>>
>> and once finished running revdep-rebuild, it should be safe to
>> delete the old libraries, like so:
>>
>> # rm '/usr/lib64/libffi.so.5'
>>
>> However by querying:
>>
>> equery b /usr/lib/libffi.so.5
>> * Searching for /usr/lib/libffi.so.5 ...
>> dev-libs/libffi-3.0.11 (/usr/lib64/libffi.so.5)
>>
>> we see that /usr/lib64/libffi.so.5 is reported as belonging to
>> dev-libs/libffi-3.0.11. Is that normal?
>
> I think so. It might be clearer if equery omitted the version number,
> or if it tracked which versions of a package a file belonged to.

So, are you saying that libffi.so.5 does *not* actually belong to
dev-libs/libffi-3.0.11 ?

>
> (If I'm wrong, then I suspect you found a bug)
>
>
Re: ebuild log suggests to remove old libraries [ In reply to ]
On Mon, May 21, 2012 at 2:16 PM, Thanasis <thanasis@asyr.hopto.org> wrote:
> on 05/21/2012 08:49 PM Michael Mol wrote the following:
>> On Mon, May 21, 2012 at 1:28 PM, Thanasis <thanasis@asyr.hopto.org> wrote:
>>> After a recent update of dev-libs/libffi from version 3.0.10 to 3.0.11
>>> the ebuild log suggests to run:
>>>
>>>  # revdep-rebuild --library '/usr/lib64/libffi.so.5'
>>>
>>> and once finished running revdep-rebuild, it should be safe to
>>> delete the old libraries, like so:
>>>
>>>  # rm '/usr/lib64/libffi.so.5'
>>>
>>> However by querying:
>>>
>>> equery b /usr/lib/libffi.so.5
>>>  * Searching for /usr/lib/libffi.so.5 ...
>>> dev-libs/libffi-3.0.11 (/usr/lib64/libffi.so.5)
>>>
>>> we see that /usr/lib64/libffi.so.5 is reported as belonging to
>>> dev-libs/libffi-3.0.11. Is that normal?
>>
>> I think so. It might be clearer if equery omitted the version number,
>> or if it tracked which versions of a package a file belonged to.
>
> So, are you saying that libffi.so.5 does *not* actually belong to
> dev-libs/libffi-3.0.11 ?

I would be shocked if it were generated by that absolute atom, if
that's what you mean. I think it's valid to expect it was generated by
an old version of that package.

If anything, it's probably most precise to say that libffi.so.5
belongs to dev-libs/libffi, but not to any version either in your
world file nor pulled in as a dependency by something else. (Saying
"it doesn't belong to any currently-installed version of a
currently-installed package" is ambiguous, depending on whether you
count the file's presence as meaning that the older version is
installed.)

All said, though, I've never bothered to run "equery b" on something
portage told me was an obsolete version of a library. I always run
revdep-rebuild, and then remove the old version, as the instructions
say.

--
:wq
Re: ebuild log suggests to remove old libraries [ In reply to ]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 05/21/2012 07:16 PM, Thanasis wrote:
> on 05/21/2012 08:49 PM Michael Mol wrote the following:
>> On Mon, May 21, 2012 at 1:28 PM, Thanasis
>> <thanasis@asyr.hopto.org> wrote:
>>> After a recent update of dev-libs/libffi from version 3.0.10 to
>>> 3.0.11 the ebuild log suggests to run:
>>>
>>> # revdep-rebuild --library '/usr/lib64/libffi.so.5'
>>>
>>> and once finished running revdep-rebuild, it should be safe to
>>> delete the old libraries, like so:
>>>
>>> # rm '/usr/lib64/libffi.so.5'
>>>
>>> However by querying:
>>>
>>> equery b /usr/lib/libffi.so.5 * Searching for
>>> /usr/lib/libffi.so.5 ... dev-libs/libffi-3.0.11
>>> (/usr/lib64/libffi.so.5)
>>>
>>> we see that /usr/lib64/libffi.so.5 is reported as belonging to
>>> dev-libs/libffi-3.0.11. Is that normal?
>>
>> I think so. It might be clearer if equery omitted the version
>> number, or if it tracked which versions of a package a file
>> belonged to.
>
> So, are you saying that libffi.so.5 does *not* actually belong to
> dev-libs/libffi-3.0.11 ?
>
>>
>> (If I'm wrong, then I suspect you found a bug)
>>
>>
>
>
I believe the old library appears to be owned by the new version
because it is "preserved". Once you run the revdep-rebuild command,
everything should link to the new linker name and you should be safe
to remove the old library. See the functions preserve_old_lib{_notify}
in eutils eclass for more details and the "preserve-libs" option for
the FEATURES variable in make.conf.

- --
Regards,
Markos Chandras / Gentoo Linux Developer / Key ID: B4AFF2C2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBCgAGBQJPuo8HAAoJEPqDWhW0r/LChC8QALtl/HDdxUw8IIveVBNWa959
9PQEVy5dQoyZqYQlmeY/YI8nJzKphO23InMH6V7hyMO6AViTyk9m4zRuQ09MxD6c
IVAamsRYKhwGB8ZEgtLPm9CYubFAs0QYjrneDJ3EsF5D6rorL2svN8XU/Q5YdTiz
s0T7CSP/wa3EInz+q6Fy710NvH0YLNhtJh7EnXzGxPvtgQM/uq0LAEcJcQ5fsO+c
Tizd2l70kUfQjlHnE+te8oRssQXqnTkgq7Z+GTO3rhRPx29rpn5/+qEMmTBSi2V2
6bl0IFcodhF6rmds7QkI85uQr6++PANMOgjYj/i0+JZeoUyiKinldP+vHahUKQvE
UGgGIWXzrzNQOB2F0heBA4lCckV/IgO/Wz17yXWS6NzoWxmfP+NkYGcD1NTYxMl6
ztiuTBY5RTFfd16KAeeX9oru5qmi3IBLLNhahNhma/mIwuzqOWt5eo2jH47vAkIJ
EqhvdeULdjqBIOmXPsnlj0SXhtuc8KPiLnmfSu+8Vz9wNxPLaWTtyTsVtjdGNDmC
zyVu4Na5J4o/IPFUfMH7ZRtWkVHS0sPtxxRKiMlg9z/+wlMHdI7s7GdL7wwBH3x6
4jErJz1i/2x9BUUTLcrfjEChUKX2B7IsYnTVg/3N9w6dfHmAU3kPJ8zVBLnxMPcY
2trr2UF/lGmG4OklUR+d
=yEJG
-----END PGP SIGNATURE-----
Re: ebuild log suggests to remove old libraries [ In reply to ]
on 05/21/2012 09:52 PM Markos Chandras wrote the following:

>
> I believe the old library appears to be owned by the new version
> because it is "preserved". Once you run the revdep-rebuild command,
> everything should link to the new linker name and you should be safe
> to remove the old library. See the functions preserve_old_lib{_notify}
> in eutils eclass for more details and the "preserve-libs" option for
> the FEATURES variable in make.conf.
>
>

I don't see any "preserve-libs" option in the man page of make.conf.
Anyway, the bottom line is that equery may list an installed package as
owning a certain library file, when in reality that file belonged to an
older version of the package than the one installed, in which case it
may be or appear misleading.
Re: ebuild log suggests to remove old libraries [ In reply to ]
On 05/21/2012 09:50 PM, Thanasis wrote:
> on 05/21/2012 09:52 PM Markos Chandras wrote the following:
>
>>
>> I believe the old library appears to be owned by the new version
>> because it is "preserved". Once you run the revdep-rebuild
>> command, everything should link to the new linker name and you
>> should be safe to remove the old library. See the functions
>> preserve_old_lib{_notify} in eutils eclass for more details and
>> the "preserve-libs" option for the FEATURES variable in
>> make.conf.
>>
>>
>
> I don't see any "preserve-libs" option in the man page of
> make.conf. Anyway, the bottom line is that equery may list an
> installed package as owning a certain library file, when in reality
> that file belonged to an older version of the package than the one
> installed, in which case it may be or appear misleading.
>
Yes sorry this "preserve-libs" feature is part of portage-2.2. In any
case, a revdep-rebuild will fix your problem.

--
Regards,
Markos Chandras / Gentoo Linux Developer / Key ID: B4AFF2C2