portmanager or portupgrade?

RW fbsd06 at mlists.homeunix.com
Wed Mar 21 18:24:53 UTC 2007

On Wed, 21 Mar 2007 07:45:54 -0500
Eric <heli at mikestammer.com> wrote:

> n j wrote:
> > Hello,
> > 
> > first off, I'm looking for a ports upgrading solution on my box, not
> > trying to start a religious debate over which one is better. I'm
> > interested in hearing what other FreeBSD admins are using and, if
> > possible, why they prefer one over the other. I have some experience
> > with portupgrade only, but I see more and more people talk about
> > portmanager, so I thought it would be good to hear what others use.
> > 
> > On a related note, is portmaster comparable to the previous two?
> > 
> > Thanks,
> i have used them all and I think portmaster is the best of the 3 
> choices, at least for my needs/machines.

I use a combination of portmanager for major upgrades and portupgrade
for minor tinkering. I would consider using portmaster in place of
portupgrade, but it lacks a feature that I regard as fundamental. The
other two tools will backup the existing installed package and
automatically restore it if a "make install"  fails. Portmaster creates
a package before an upgrade, but it wont restore it automatically. I
really don't want a gaping hole in my packages for any longer than is

> It has no dependencies as well, which, to me, is a plus. It is simple
> to use and has a lot of options should they be needed. 

Although it's flexibility  doesn't come with the portupgrade's shared
library management, so you can shoot yourself in the foot. portmanager
is too much of a blunt instrument to suffer from such problems

>One really
> nice feature is that all the options for ports are set at the
> beginning of the process.

It's actually quite simple to do this yourself:

   for porg in `pkg_version -ovl'<' |awk '{ print $1 }'` ; do
      cd  /usr/ports/${porg} && make config-recursive

> In the end its all a matter of what you like. Try them all and see
> what one you like for how you manage your boxes.  For me, its
> portmaster all the way. it hasnt let me down yet and I havent seen a
> need to keep the other 2 around once i was familiar with portmaster.

It's worth having portmanager just for it's -slid option. AFAIK it's
the only leaf-deletion utility that understands build dependencies.
That is, it wont prompt you to delete versions of gcc, autoconf etc
while they are still useful.

I mostly use portmanager, because it tends to do the right thing without
being prompted. The port[upgrade|master] recipes in UPDATING just aren't
needed for portmanager, which means that it should do the right thing in
the case of subtle problems that don't make it to UPDATING on day one
(or at all).

Another nice feature is that after any error, portmanager recursively
adds origins that depend on the failed port to it's ignore list, and
then just carries-on. When building a lot of ports there is a high
probability of one or more failing, so this can be as useful
configuring at the beginning.

More information about the freebsd-questions mailing list