From owner-freebsd-questions@FreeBSD.ORG Sat Oct 15 23:39:51 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 027FA16A41F for ; Sat, 15 Oct 2005 23:39:51 +0000 (GMT) (envelope-from petersen@petersen.plus.com) Received: from britersen.co.uk (britersen.co.uk [212.159.80.154]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36A7143D46 for ; Sat, 15 Oct 2005 23:39:49 +0000 (GMT) (envelope-from petersen@petersen.plus.com) Received: from petersen (petersen@petersen.petenet [192.168.1.1]) by britersen.co.uk (8.13.4/8.13.4) with ESMTP id j9FNdlOO098029; Sun, 16 Oct 2005 00:39:48 +0100 (BST) (envelope-from petersen@petersen.plus.com) From: "Petersen" To: "'Peter Matulis'" Date: Sun, 16 Oct 2005 00:39:46 +0100 Message-ID: <003901c5d1e1$bac6e190$0101a8c0@petenet.britersen.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 In-Reply-To: <20051015211804.49218.qmail@web60017.mail.yahoo.com> Thread-Index: AcXRzf6b/PLN+zM7QKCq8+IZS3z2BgAErqCw 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 23:39:51 -0000 Peter Matulis wrote: > --- Petersen wrote: > >> The -a switch will upgrade a port only if its version number has >> increased (as you know). >> >> The -r switch will upgrade a port if one of its dependancies has been >> upgraded, regardless of whether its version number has changed or >> not. >> >> e.g. >> >> Appbar-1.0 depends on libfoo-1.0. Libfoo gets a portbump to 1.1. >> portupgrade -r libfoo will install libfoo-1.1, plus also force a >> recompile and reinstallation of appbar-1.0, irrespective of the fact >> that appbar's version remains the same. Thus, any ABI changes that >> happened in libfoo that could potentially break appbar that was >> compiled/linked against the previous version are limited. >> >> In an ideal world, this wouldn't be a problem. ABIs and APIs >> should remain constant, until a library revision bump (i.e., if >> libfoo.1's ABI changed and broke apps, it shoulda been bumped to > libfoo.2). > Most times you can get away with not recompiling a > port's dependants >> because developers, but if you don't then it can shoot you in the >> foot (read the recent list archives regarding openssl-0.9.8 to see >> an example of this). > > Thank you very much (BTW, there is something missing in your last > sentence). > ..because developers mostly take ABI breakage into account and tend not to do it on minor versions, but if you don't... > One last thing. Is this the case with the 'R' switch as well? > > > Well, the -R switch won't force anything to upgrade if it's already at the latest version. AFAIK (someone please correct me on this if I'm wrong) it is pointless to use it with the -a switch as -a by its very nature is upgrading anything that needs upgrading anyway, which includes any dependancies of a port, and AFAIK -a will sort the upgrades so that dependancies are done before upgrades (thus, 'portupgrade -a' is functionally equivalent to 'portupgrade -R *'). Uninstalled dependancies of an installed port are irrelevant in any portupgrade case, as the port will automatically pull them in as part of its compilation. Petersen