From owner-freebsd-questions@FreeBSD.ORG Sat Oct 15 18:32:40 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 D3F8A16A41F for ; Sat, 15 Oct 2005 18:32:40 +0000 (GMT) (envelope-from Jan.Grant@bristol.ac.uk) Received: from dirg.bris.ac.uk (dirg.bris.ac.uk [137.222.10.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id 745C243D76 for ; Sat, 15 Oct 2005 18:32:40 +0000 (GMT) (envelope-from Jan.Grant@bristol.ac.uk) Received: from mail.ilrt.bris.ac.uk ([137.222.16.62]) by dirg.bris.ac.uk with esmtp (Exim 4.51) id 1EQqpi-0006LV-6W; Sat, 15 Oct 2005 19:32:39 +0100 Received: from cmjg (helo=localhost) by mail.ilrt.bris.ac.uk with local-esmtp (Exim 4.50) id 1EQqpV-0007HX-U9; Sat, 15 Oct 2005 19:32:26 +0100 Date: Sat, 15 Oct 2005 19:32:25 +0100 (BST) From: Jan Grant X-X-Sender: cmjg@mail.ilrt.bris.ac.uk To: Peter Matulis In-Reply-To: <20051015182303.10817.qmail@web60021.mail.yahoo.com> Message-ID: References: <20051015182303.10817.qmail@web60021.mail.yahoo.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: Jan Grant X-Spam-Score: -1.4 X-Spam-Level: - Cc: freebsd-questions 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 18:32:40 -0000 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. -- jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/ Tel +44 (0)117 3317661 http://ioctl.org/jan/ Strive to live every day as though it was last Wednesday.