From owner-freebsd-questions@FreeBSD.ORG Sat Oct 15 19:08:39 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BBA4B16A41F for ; Sat, 15 Oct 2005 19:08:39 +0000 (GMT) (envelope-from petermatulis@yahoo.ca) Received: from web60012.mail.yahoo.com (web60012.mail.yahoo.com [209.73.178.75]) by mx1.FreeBSD.org (Postfix) with SMTP id 1969C43D4C for ; Sat, 15 Oct 2005 19:08:38 +0000 (GMT) (envelope-from petermatulis@yahoo.ca) Received: (qmail 86888 invoked by uid 60001); 15 Oct 2005 19:08:38 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.ca; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=e3RWQaM+xevai68AB3wdbQTHRiSwDKrk6PV8UXpYUN6AmrQKuZL2bV4g5rkpm0n8+h1PyiT9OCS095EqxCfPq2DMUWRYfJs5JDsa9Rb0AbJ1GGk+sgOAAjOuavhFGb+qwIrx8dVrts8Ygz12c92Ag6sE8hTyC6LaUh5lac8a8lM= ; Message-ID: <20051015190838.86886.qmail@web60012.mail.yahoo.com> Received: from [216.252.84.12] by web60012.mail.yahoo.com via HTTP; Sat, 15 Oct 2005 15:08:38 EDT Date: Sat, 15 Oct 2005 15:08:38 -0400 (EDT) From: Peter Matulis To: freebsd-questions In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Subject: Re: portupgrade -ar (why?) 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: Sat, 15 Oct 2005 19:08:39 -0000 --- Jan Grant wrote: > On Sat, 15 Oct 2005, Peter Matulis wrote: > > > What is the use of specifying the 'r' switch when using the 'a' > > switch? > > > > # portupgrade -ar > > > > This says to upgrade all ports plus the ones that depend on all > > those ports. Am I missing something? Wouldn't "the ones that > > depend" be upgraded anyway? > > Not necessarily. For instance: package P might use library L. A > change in L might alter the size and layout of structures exposed to P. > The source-level API of L is unchanged; the binary-level ABI is > altered. So whilst the source code of P might not have changed, it might (for > instance) be using a macro defined by a header in L that will look > at the wrong offset in the new structure. These kinds of ABI > compatibility problems can be fixed by recompilihng P. But still, a port requires upgrading or it does not. Using 'r', portupgrade ultimately checks whether some port should be upgraded. Are you saying that the 'r' switch involves a different decision making process than 'a'? __________________________________________________________ Find your next car at http://autos.yahoo.ca