Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC about another *DEPEND variable
Date: Wed, 27 Sep 2006 06:27:58
Message-Id: 200609270224.42169.vapier@gentoo.org
In Reply to: Re: [gentoo-dev] RFC about another *DEPEND variable by Brian Harring
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

Replies

Subject Author
Re: [gentoo-dev] RFC about another *DEPEND variable Brian Harring <ferringb@×××××.com>