1 |
On Wednesday 04 February 2009 20:17:33 Dirk Heinrichs wrote: |
2 |
> Am Mittwoch, 4. Februar 2009 04:25:34 schrieb ABCD: |
3 |
> > The reason there wasn't a bump (IIRC) was that the ebuild never changed |
4 |
> > - only the eclass did. If you emerged any version of GCC during the |
5 |
> > window where the eclass was broken, that version of GCC would have been |
6 |
> > broken. |
7 |
> |
8 |
> That also means that portage is broken. Whenever something changes where |
9 |
> other things depend on, those other things should be rebuilt. This doesn't |
10 |
> happen here. |
11 |
|
12 |
I disagree, that would cause many more spurious rebuilds than is needed if it |
13 |
were automated. Portage cannot tell how important or how deep a change is, |
14 |
that requires a human to look and see. So what is needed is a flag that |
15 |
portage recognizes as an instruction to do a revdep-rebuild-style search and |
16 |
find everything using a specific changed file, and rebuild those. The flag is |
17 |
set under dev control. |
18 |
|
19 |
Blindly doing what you suggest leads to this: |
20 |
|
21 |
appA depends on libB. |
22 |
libB has a bug which is fixed but no changes to the API or ABI occur, so appA |
23 |
does not need to be rebuilt, it simply uses the new compiled lib when run. |
24 |
This circumstance will likely happen many many times more often that the |
25 |
updated eclass that is the subject of this thread. |
26 |
|
27 |
Therefore, a simple elog entry is a valid handling and fully compliant with |
28 |
the principle of The Simplest Thing That Could Possibly Work. |
29 |
|
30 |
-- |
31 |
alan dot mckinnon at gmail dot com |