1 |
Maciej Mrozowski posted on Thu, 15 Jul 2010 15:57:01 +0200 as excerpted: |
2 |
|
3 |
> On Thursday 15 of July 2010 12:14:29 Duncan wrote: |
4 |
>> |
5 |
>> If I have FEATURE=-preserve-libs, that's what I want. Exceptions |
6 |
>> should be limited to what will break the toolchain (including |
7 |
>> revdep-rebuild here, since that's what's normally used to get out of |
8 |
>> the situation) itself. |
9 |
>> |
10 |
>> If there was a way to handle it so a general revdep-rebuild run would |
11 |
>> still detect the preserved library as missing and do the necessary |
12 |
>> rebuilds, it'd be one thing, but if the libraries are there, it figures |
13 |
>> things are OK unless you've fed it that specific library, thereby |
14 |
>> making a general revdep-rebuld run useless at the very task it was |
15 |
>> designed to fix. |
16 |
>> |
17 |
>> Talking about which... What about creating an eutils (or whatever) |
18 |
>> function to handle the critical preservations, having it build a |
19 |
>> centralized list of them somewhere, and having a revdep-rebuild mode |
20 |
>> that will treat that list as if it had been fed in with --library on |
21 |
>> the command line? Make revdep-rebuild able to run this mode either on |
22 |
>> its own, or as part of an otherwise general run, and then you can have |
23 |
>> packages (or the package-manager itself, if it uses the list as well) |
24 |
>> preserve libs as they wish, without interfering with the ability of |
25 |
>> revdep- rebuild to detect and resolve the issues in a normal run. |
26 |
> |
27 |
> And what about using portage 2.2 and be done with it. I don't see the |
28 |
> point in reinventing the wheel yet again. |
29 |
|
30 |
As with Mike A, I've been running portage 2.2 for some time, and in fact, |
31 |
don't even have a world file any longer, as everything is in far more |
32 |
organized and easier to admin sets (thus bug #298298 on --depclean). |
33 |
|
34 |
But preserved-libs caused me some serious problems and I feature-disabled |
35 |
it. (If a package owns a file, it should do so consistently, everywhere |
36 |
it's installed, building the package should create it, and I should be |
37 |
able to dig its version as installed out of the binpkg tarball.) |
38 |
|
39 |
> Imho, revdep-rebuild and all 'misc' tools requiring users' good will |
40 |
> like python-updater should be obsolete and phased out in favour of |
41 |
> package manager controlled mechanisms. |
42 |
|
43 |
Ugh. Automated can be useful, but don't get rid of the tools that allow |
44 |
one to do it step-by-step. They're way too useful when something bugs out. |
45 |
|
46 |
In my case, I always run emerge --update --deep --newuse when updating |
47 |
@system and @world, and always revdep-rebuild and --depclean afterward. |
48 |
While I do read the output portage spits out at the end of its emerges, |
49 |
having packages adopt earlier versions of their libraries and forcing me |
50 |
to do an additional library specific revdep-rebuild is forcing additional |
51 |
steps that the revdep-rebuild general run would normally find and fix |
52 |
entirely on its own -- only the adoption handling breaks that |
53 |
functionality. |
54 |
|
55 |
For toolchain dependencies, that breakage is acceptable as it avoids worse |
56 |
alternatives. But it shouldn't be happening for anything else (and I'd |
57 |
not make the exception Mike does for big-breakage libs, either, if the |
58 |
toolchain, including revdep-rebuild, works, it can fix it). |
59 |
|
60 |
FWIW, since I'm running --as-needed in my ldflags and have lafilefixer |
61 |
post-install-hooked, I generally have far fewer rebuilds to do that those |
62 |
running without that. Thus, the big breakages aren't nearly as big as |
63 |
they'd be otherwise, and with the exception of toolchain dependencies, |
64 |
that revdep-rebuild run at the end tends to be far less hassle than trying |
65 |
to cope with preserved-libs, and with breakage when libraries aren't in |
66 |
the binpkgs equery belongs says they're supposed to be in, etc. |
67 |
|
68 |
-- |
69 |
Duncan - List replies preferred. No HTML msgs. |
70 |
"Every nonfree program has a lord, a master -- |
71 |
and if you use the program, he is your master." Richard Stallman |