Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Over using preserve_old_lib, don't do that
Date: Thu, 15 Jul 2010 19:02:59
Message-Id: pan.2010.07.15.19.02.02@cox.net
In Reply to: Re: [gentoo-dev] Re: Over using preserve_old_lib, don't do that by Maciej Mrozowski
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