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


Reply via email to