> > > The logic is:
> > >
> > > Rebuild busted packages that portage already knows about
> > > (@preserved-rebuild), then get rid of oudated packages and finally
> > > revdep-rebuild to fix anything that --depclean broke.
> > >
> > > @preserved-rebuild is getting very good at what it does lately
> > > (supported in all recent portage version including stable IIRC), as
> > > is --depclean, so revdep-rebuild seldom finds anything to do these
> > > days.
> > >
> > > --
> > > Alan McKinnon
> >
> > If revdep-rebuild does everything that @preserved-rebuild does and
> > more, why run @preserved-rebuild at all?
>
> @preserved-rebuild does it correctly, does not break your system and
> does not leave it in an indeterminate state while you spend hours
> trying to figure out what went on.
>
> revdep-rebuild does all those things (and also gets around to fixing
> broken libs while taking it's own sweet time to do it).
>
> So they are not really the same thing at all.

I'm not saying they're the same, I'm saying it looks like
@preserved-rebuild does a subset of the things revdep-rebuild does.  Why
run @preserved-rebuild followed by revdep-rebuild if the end result is the
same as running revdep-rebuild?  I'm sure I'm missing something here but I
don't know what it is.

- Grant


> Basically, portage removes old .so files when doing upgrades. If the
> so-name changes, packages using that file are now broken.
> revdep-rebuild was a phase 1 effort to repair that damage after the
> fact, and it was good at that.
>
> @preserved-rebuild is a feature in portage that won't remove old .so
> files until the last binary linking to it is removed. IOW, things still
> work meanwhile. It's analogous to the Unix style of deleting files - if
> you app still has a handle to a file and the file is deleted, your app
> does not notice the difference as from it's POV the delete has not
> happened yet

Reply via email to