How did upgrading applications happen before portupgrade etc?

RW fbsd06 at mlists.homeunix.com
Tue Aug 14 07:35:20 PDT 2007


> >> > On Sun, 12 Aug 2007 14:20:59 +0200
> >> > Alexander Leidinger <Alexander at Leidinger.net> wrote:
> >> >
> >> >> Quoting RW <fbsd06 at mlists.homeunix.com> (Sat, 11 Aug 2007
> >> >> 22:58:58 +0100):
> >
> >> > Actually having dependencies package version mismatches needn't
> >> > cause any significant problems.
> >>
> >> It does cause problems. You have no +REQUIRED_BY file anymore, so
> >> pkg_delete allows you to remove it without a warning even if it is
> >> still needed.
> >
> > I didn't say it doesn't, I said it needn't. When I have to remove a
> 
> It will. No doubts about this, sorry. It may be ok for some hobbyist  
> installation, but in the generic case you want to do it right (and
> the OP asked for the generic case which includes production quality
> ports management).
> ...
> It's not about removing a port when updating. It's about correct
> leaf ports detection which may be necessary from time to time.

Detecting leaves by +REQUIRED_BY alone is unreliable unless you can
guarantee that the entries have *always* been updated to reflect the
installed packages - by everybody that worked on the server.  

It's more forgiving to work downwards through the dependencies to
find leaves,and fairly easy to script. 

> > doesn't rely on +REQUIRED_BY, and provides additional protection
> > against build-dependency deletion which you don't get from
> > pkg_delete.

> Sidenote: I also don't see a benefit when pruning to keep the
> obscure build dependencies of a port you don't want anymore.

Just like there's no point in keeping the obscure run dependencies of a
port you don't want anymore. Leaf deletion is an iterative
process, when you delete one leaf you may create more.  
"Portmanager -slid" prompts you to delete a build dependency when the
last package that needs it for a rebuild is removed.


More information about the freebsd-ports mailing list