On Wednesday 04 February 2009 20:17:33 Dirk Heinrichs wrote:
> Am Mittwoch, 4. Februar 2009 04:25:34 schrieb ABCD:
> > The reason there wasn't a bump (IIRC) was that the ebuild never changed
> > - only the eclass did.  If you emerged any version of GCC during the
> > window where the eclass was broken, that version of GCC would have been
> > broken.
>
> That also means that portage is broken. Whenever something changes where
> other things depend on, those other things should be rebuilt. This doesn't
> happen here.

I disagree, that would cause many more spurious rebuilds than is needed if it 
were automated. Portage cannot tell how important or how deep a change is, 
that requires a human to look and see. So what is needed is a flag that 
portage recognizes as an instruction to do a revdep-rebuild-style search and 
find everything using a specific changed file, and rebuild those. The flag is 
set under dev control.

Blindly doing what you suggest leads to this:

appA depends on libB. 
libB has a bug which is fixed but no changes to the API or ABI occur, so appA 
does not need to be rebuilt, it simply uses the new compiled lib when run.
This circumstance will likely happen many many times more often that the 
updated eclass that is the subject of this thread.

Therefore, a simple elog entry is a valid handling and fully compliant with 
the principle of The Simplest Thing That Could Possibly Work.

-- 
alan dot mckinnon at gmail dot com

Reply via email to