Am Sun, 21 May 2017 09:38:31 +0100
schrieb Peter Humphrey <pe...@prh.myzen.co.uk>:

> On Saturday 20 May 2017 18:39:07 Kai Krakow wrote:
> > Am Sat, 20 May 2017 16:36:08 +0100
> > 
> > schrieb Mick <michaelkintz...@gmail.com>:  
> > > On Saturday 20 May 2017 10:48:52 Mick wrote:  
>  [...]  
>  [...]  
> > >  [...]
> > >  [...]
> > >  [...]
> > >  [...]
> > >  [...]
> > >  [...]
> > >    
>  [...]  
> > >  
> > >  [...]
> > >    
>  [...]  
>  [...]  
> > > 
> > > It seems revdep-rebuild'ing against library='libQtCore.so.4' also
> > > rebuilds the newly installed Qt packages.  This is why there so
> > > many packages to rebuild.  
> > 
> > That's why I suggested using "--changed-deps": It doesn't rebuild
> > packages that provide the library itself and have already been built
> > after the library provider...
> > 
> > OTOH, it doesn't check binary dependence, just what is written into
> > the ebuilds itself. But it should work most of the time.
> > 
> > A combination of two emerge invocations may work, too:
> > 
> > # emerge -DNua world --changed-deps
> > # emerge -1a @preserved-rebuild --changed-deps
> > 
> > This also worked well for me when I did the gcc upgrade.
> > 
> > But I think the need to use changed-deps to rebuild dependers
> > should be considered a bug and be reported. Portage has support for
> > sub-slot dependencies to describe such binary breakage during
> > upgrades and automatically rebuild the dependers.  
> 
> Have you seen https://bugs.gentoo.org/show_bug.cgi?id=595618 ? It
> says that "Qt plugins compiled with gcc-4 are incompatible with
> <dev-qt/qtcore-4.8.7 compiled with gcc-5." I don't see how portage
> can be expected to anticipate that. On the other hand, some kind of
> notice could be issued, and bug 618922 is pursuing that. (That's the
> one I started this thread with.)

I was thinking about how portage could support the user here:

Portage could record which compiler in which version was used building
the package. It already records tons of information in /var/db/pkg.
There's CFLAGS but that doesn't really help here.

What I did after "emerge -DNua world --changed-deps" while upgrading
GCC at the same time, was finding all packages in /var/db/pkg that had
mtime older than the CFLAGS file of the GCC build. While changed-deps
seemed to capture most of what needed to be rebuilt, I just wanted to be
sure the rest of the system was rebuilt, too.

Of course there are ebuilds that just create data files or scripts
which could've been excluded from rebuilding, and packages that are
built with different compilers than gcc... That's why I thought it
would be nice if portage recorded the exact compiler version used.


-- 
Regards,
Kai

Replies to list-only preferred.


Reply via email to