Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 143467 - Autocheck for broken libs
Summary: Autocheck for broken libs
Status: RESOLVED DUPLICATE of bug 62207
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-10 07:18 UTC by Patrik Kullman
Modified: 2007-06-06 23:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
bashrc.verify-needed (bashrc.verify-needed,1.19 KB, text/plain)
2006-08-10 07:35 UTC, solar (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrik Kullman 2006-08-10 07:18:17 UTC
It should be possible to detect packages that have broke due to a library upgrade instead of running revdep-rebuild now and then, here's a thought how to do that..

When a package is merged, portage records where all dynamically linked objects link to along with the shared objects the package provides.

This could be to a small database (sqlite?).
| PACKAGE | PROVIDES | LINKSTO |
| sys-apps/findutils | | /lib/libc.so.6 |
| x11-libs/libX11 | /usr/lib/libX11.so.6.2.0 | /usr/lib/libXau.so.6 |

Then, portage could compare the provides of before/after a library upgrade and tell whether any shared objects are removed, if so, check in the database if any other packages linked to that library and then have list of packages that broke.

However, I don't know how how long that evaluation will take with ~1000 packages installed, so maybe it should be made available if used as a FEATURE="autorevdep"..
Comment 1 solar (RETIRED) gentoo-dev 2006-08-10 07:35:38 UTC
Created attachment 93913 [details]
bashrc.verify-needed

Here is the basic idea hashed out as a bashrc. 
(requires portage-utils-0.1.20 and pax-utils-current)
I tend to use this code standalone at the moment. In an ideal 
world this basic code would be extended to run in preinst phase.
Comment 2 solar (RETIRED) gentoo-dev 2006-08-10 08:01:32 UTC
For 64bit multilib arches in my example it might be better to change the code..
-scanelf -Bqn -f - -F '%n#F' 
+scanelf -LBqn -f - -F '%n#F' 
Comment 3 Marius Mauch (RETIRED) gentoo-dev 2007-06-06 23:32:47 UTC
I think preserve-libs in trunk covers this, also talked with Paul about integrated revdep-rebuild support so people should only have to run one simple command.

*** This bug has been marked as a duplicate of bug 62207 ***