Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Dec 2009 15:59:56 -0800
From:      Charlie Kester <corky1951@comcast.net>
To:        freebsd-questions@freebsd.org
Subject:   Re: Newbie questions (updating, ports, etc.)
Message-ID:  <20091203235956.GE4955@comcast.net>
In-Reply-To: <alpine.BSF.2.00.0912030814430.9198@wonkity.com>
References:  <200912031113.39344.macerl@telkomsa.net> <alpine.BSF.2.00.0912030814430.9198@wonkity.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu 03 Dec 2009 at 07:32:33 PST Warren Block wrote:
>As far as "batch" or even -a, I update the ports tree often and prefer
>to manually upgrade ports as needed, usually with portupgrade -r.  A
>lot of people seem to like -R; maybe I have the dependencies backwards.

Since this is a newbie thread, perhaps we should clarify this point.

     portupgrade -r portA

upgrades portA and any other installed ports which depend on it.  For
example, if portA installs a shared library that portB uses, both portA
and portB will be upgrade by this command.  

     portupgrade -R portA

upgrades portA and any other ports on which portA depends.  For
example, if portA uses gtk+, this command will compile both portA
and gtk+, along with all the other libraries and whatnot that
underpin gtk+.  In other words, it rebuilds portA from the ground
up -- starting from the absolute bare ground.

If the changes in portA did not introduce any binary incompatibilities,
portupgrade -r is probably unnecessary.  The problem is knowing ahead of
time whether there are any such incompatibilities.  So many people
habitually use -r as a precautionary measure.

As far as I can see, the only reason to use -R is when you're having
some problem with portA and you suspect that the underlying libraries
and whatnot have gotten out of sync.  Rebuilding the whole chain from
scratch is sometimes the only way to restore sanity to the system.

(Or maybe it's just that you have nothing else to do on a rainy
weekend.)

-- Charlie



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091203235956.GE4955>