1 |
> > > The logic is: |
2 |
> > > |
3 |
> > > Rebuild busted packages that portage already knows about |
4 |
> > > (@preserved-rebuild), then get rid of oudated packages and finally |
5 |
> > > revdep-rebuild to fix anything that --depclean broke. |
6 |
> > > |
7 |
> > > @preserved-rebuild is getting very good at what it does lately |
8 |
> > > (supported in all recent portage version including stable IIRC), as |
9 |
> > > is --depclean, so revdep-rebuild seldom finds anything to do these |
10 |
> > > days. |
11 |
> > > |
12 |
> > > -- |
13 |
> > > Alan McKinnon |
14 |
> > |
15 |
> > If revdep-rebuild does everything that @preserved-rebuild does and |
16 |
> > more, why run @preserved-rebuild at all? |
17 |
> |
18 |
> @preserved-rebuild does it correctly, does not break your system and |
19 |
> does not leave it in an indeterminate state while you spend hours |
20 |
> trying to figure out what went on. |
21 |
> |
22 |
> revdep-rebuild does all those things (and also gets around to fixing |
23 |
> broken libs while taking it's own sweet time to do it). |
24 |
> |
25 |
> So they are not really the same thing at all. |
26 |
|
27 |
I'm not saying they're the same, I'm saying it looks like |
28 |
@preserved-rebuild does a subset of the things revdep-rebuild does. Why |
29 |
run @preserved-rebuild followed by revdep-rebuild if the end result is the |
30 |
same as running revdep-rebuild? I'm sure I'm missing something here but I |
31 |
don't know what it is. |
32 |
|
33 |
- Grant |
34 |
|
35 |
|
36 |
> Basically, portage removes old .so files when doing upgrades. If the |
37 |
> so-name changes, packages using that file are now broken. |
38 |
> revdep-rebuild was a phase 1 effort to repair that damage after the |
39 |
> fact, and it was good at that. |
40 |
> |
41 |
> @preserved-rebuild is a feature in portage that won't remove old .so |
42 |
> files until the last binary linking to it is removed. IOW, things still |
43 |
> work meanwhile. It's analogous to the Unix style of deleting files - if |
44 |
> you app still has a handle to a file and the file is deleted, your app |
45 |
> does not notice the difference as from it's POV the delete has not |
46 |
> happened yet |