1 |
On Thursday 21 September 2006 11:08, Brian Harring wrote: |
2 |
> On Thu, Sep 21, 2006 at 10:43:11AM -0400, Mike Frysinger wrote: |
3 |
> > i'm referring to the specific file of course, not anything else in the |
4 |
> > package ... so integrating the hack eutils.eclass:preserve_old_lib() into |
5 |
> > portage so it isnt a hack (not a knock against the current implementation |
6 |
> > here; it's always going to be a hack until portage manages proper |
7 |
> > unmerging of the ABI library) |
8 |
> |
9 |
> The reason folks aren't talking about using NEEDED is that NEEDED data |
10 |
> is generated _after_ building; |
11 |
|
12 |
as well it should be ... trying to enumerate the linking ABI possibilities |
13 |
before hand is not doable and not worth wasting the time of maintainers when |
14 |
it can be automated |
15 |
|
16 |
> getting the info into the resolver |
17 |
> up front allows for a helluva lot more options, and makes stuff like |
18 |
> ensuring you have all sources required downloaded *prior* actually |
19 |
> simple to do, rather then inserting recalculating hacks into the |
20 |
> resolver. |
21 |
|
22 |
rather than integrating it all into the resolver in a one-pass system, a two |
23 |
pass system would work: |
24 |
- build all the packages requested |
25 |
- after each package, if an ABI library is being removed, check to see if it |
26 |
is needed by any other package. if it is needed, record it and preserve it |
27 |
and move on |
28 |
- once all the packages requested have been merged, you start the second |
29 |
phase and calculate everything that needs to be rebuilt. as ABI libs are no |
30 |
longer needed on a system, portage can scrub them out |
31 |
-mike |