1 |
On Monday 25 September 2006 14:16, Brian Harring wrote: |
2 |
> Bad soname handling is just *part* of what BINCOMPAT could do; it's |
3 |
> not the sole reason for it's existance, as such it's not quite right |
4 |
> dismissing it just because it addresses a rarity the NEEDED approach |
5 |
> doesn't. :) |
6 |
|
7 |
i dismiss it as being a real advantage and/or argument for taking BINCOMPAT |
8 |
over an automated NEEDED scan |
9 |
|
10 |
as i said, if you have changed ABI without an ABI bump, then the upstream |
11 |
package maintainer is screwing everyone who uses the package, not just |
12 |
Gentoo ... so perhaps we should be talking to them to get the situation |
13 |
resolved for all consumers, not just Gentoo |
14 |
|
15 |
> *IF* we actually had that in place it would enable detecting and |
16 |
> rebuilding c++ code whenever gcc pulls its next c++ abi change with |
17 |
> appropriate deps in place (iow, kill off the implicit system deps). |
18 |
|
19 |
scanelf already does this ... the only time you need to rebuild is when the |
20 |
ABI breaks ... aka libstdc++.so.5 -> libstdc++.so.6 |
21 |
|
22 |
> If that were the case, why do we have libraries listed in DEPEND then? |
23 |
|
24 |
because i have a short memory |
25 |
|
26 |
> Bleh, this is getting back to exactly my point that it's unbounded |
27 |
> resolution. To support this, every step of execution would require |
28 |
> scanning for dangling nodes to punt; aside from invalidating -p's |
29 |
> output it *still* is a collision-protect hit. |
30 |
|
31 |
when the package upgrade detects an ABI change you recalculate the packages |
32 |
that need to be rebuilt ... |
33 |
|
34 |
dangling nodes get recorded in the new package and considering these old files |
35 |
are not detrimental to the health of the system, you can do such a cleanup |
36 |
once at the end of the emerge |
37 |
|
38 |
> It also involves changing vdb nodes from "installed and usable" to |
39 |
> "installed/usable" or "lingering" |
40 |
|
41 |
no ... the old versions get merged into the new one as their existence is |
42 |
purely hidden |
43 |
|
44 |
> Tracking BINCOMPAT should *not* be that hard. |
45 |
|
46 |
it's one more thing to keep track of and considering all of the possibilities |
47 |
i outlined, a single maintainer can easily lose his sanity ... or you force |
48 |
wasted rebuilds on people when it's only needed in some circumstances |
49 |
|
50 |
> Hell, automate a tool to determine if it's a BINCOMPAT bump via NEEDED |
51 |
> data (folks should be compiling the pkg anyways), point is it's mainly |
52 |
> common sense for maintainenance of it. |
53 |
|
54 |
and when are you going to run that tool ? when you bump the package ? so now |
55 |
the maintainer has to test it on all the KEYWORDed arches with all the USE |
56 |
combos, or de-KEYWORD it and make the arch maintainers test it ? or dig |
57 |
through the source code line by line and hope to catch all such cases by |
58 |
hand/eye ? |
59 |
|
60 |
> Yes, if the solution can be automated without flinging poo into the |
61 |
> code, I'm for it; that said I know what the implementation is going to |
62 |
> have to look like, and it's *nasty*. |
63 |
|
64 |
i dont think either of our solutions are satisfactory for all presented cases; |
65 |
a hybrid model would be needed |
66 |
-mike |