From owner-freebsd-questions@FreeBSD.ORG Thu Dec 3 23:59:58 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECDCA1065679 for ; Thu, 3 Dec 2009 23:59:58 +0000 (UTC) (envelope-from corky1951@comcast.net) Received: from QMTA08.emeryville.ca.mail.comcast.net (qmta08.emeryville.ca.mail.comcast.net [76.96.30.80]) by mx1.freebsd.org (Postfix) with ESMTP id D2C0B8FC1D for ; Thu, 3 Dec 2009 23:59:58 +0000 (UTC) Received: from OMTA02.emeryville.ca.mail.comcast.net ([76.96.30.19]) by QMTA08.emeryville.ca.mail.comcast.net with comcast id CnAg1d00D0QkzPwA8nzzuZ; Thu, 03 Dec 2009 23:59:59 +0000 Received: from comcast.net ([98.203.142.76]) by OMTA02.emeryville.ca.mail.comcast.net with comcast id Cnzx1d00C1f6R9u8NnzxV0; Thu, 03 Dec 2009 23:59:59 +0000 Received: by comcast.net (sSMTP sendmail emulation); Thu, 03 Dec 2009 15:59:56 -0800 Date: Thu, 3 Dec 2009 15:59:56 -0800 From: Charlie Kester To: freebsd-questions@freebsd.org Message-ID: <20091203235956.GE4955@comcast.net> Mail-Followup-To: freebsd-questions@freebsd.org References: <200912031113.39344.macerl@telkomsa.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: X-Mailer: Mutt 1.5.20 X-Composer: VIM 7.2 User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: Newbie questions (updating, ports, etc.) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Dec 2009 23:59:59 -0000 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