On Monday, 19. September 2011 17:28:26 Alan McKinnon wrote: > On Mon, 19 Sep 2011 10:58:52 -0400 > > Allan Gottlieb <gottl...@nyu.edu> wrote: > > > First one emerges *broken* packages. > > > Second one emerge packages *using* png14 (not necessarily broken) > > > > OK. But the claim was that: if > > > > revdep-rebuild > > > > with no argument found nothing to build, then > > > > revdep-rebuild --library <some-library> > > > > will find nothing. > > > > This guarantee is apparently no long true as my example in another msg > > illustrated. > > Michael is indeed correct. > > A careful reading of the man page reveals the usage of the words > "broken" and "using" exactly like he said. So I stand humbly corrected. > > I find revdep-rebuild's behavior in this respect confusing. Even though > it is clearly documented it is unexpected. It would never have occurred > to me to draw that distinction.
I think, it is very useful. An example: $ ldd /bin/bash linux-vdso.so.1 => (0x00007fffbafff000) libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f0a4c278000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f0a4c074000) libc.so.6 => /lib64/libc.so.6 (0x00007f0a4bce4000) /lib64/ld-linux-x86-64.so.2 (0x00007f0a4c4ce000) Assume ncurses get's an update (new version is libncurses.so.6) Now if portage decided to *remove* libncurses.so.5 during that update, my bash would be broken. Very bad, so the ebuild-writer decides to leave libncurses.so.5 on my system. Because linking of bash is consistent (it still links to .so.5) a run of revdep-rebuild without args would return without result. With revdep-rebuild --library libncurses.so.5 I am now able to find and rebuild all packages, that use the "ancient" version of ncurses and after that, I can *safely* remove it. Best, Michael