From owner-freebsd-stable@FreeBSD.ORG Mon Aug 3 19:47:43 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D6DB1106566B for ; Mon, 3 Aug 2009 19:47:43 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx21.fluidhosting.com [204.14.89.4]) by mx1.freebsd.org (Postfix) with ESMTP id 8380B8FC14 for ; Mon, 3 Aug 2009 19:47:43 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: (qmail 21657 invoked by uid 399); 3 Aug 2009 19:47:38 -0000 Received: from localhost (HELO foreign.dougb.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 3 Aug 2009 19:47:38 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Message-ID: <4A773ED4.7020709@FreeBSD.org> Date: Mon, 03 Aug 2009 12:47:32 -0700 From: Doug Barton Organization: http://www.FreeBSD.org/ User-Agent: Thunderbird 2.0.0.22 (X11/20090729) MIME-Version: 1.0 To: freebsd-stable@freebsd.org References: <1248027417.14210.110.camel@neo.cse.buffalo.edu> <200907232335.54973.mel.flynn+fbsd.current@mailing.thruhere.net> <4A6FF5FA.5010904@FreeBSD.org> <200907282342.25038.mel.flynn+fbsd.current@mailing.thruhere.net> <4A707534.8000808@FreeBSD.org> <20090729170601.GA2841@tafi.alm.flutnet.org> <20090731193145.GA3750@osiris.mauzo.dyndns.org> In-Reply-To: <20090731193145.GA3750@osiris.mauzo.dyndns.org> X-Enigmail-Version: 0.95.7 OpenPGP: id=D5B2F0FB Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Aug 2009 19:47:44 -0000 [If you follow up to this message please change freebsd-stable@ to freebsd-ports@. Thanks.] Ben Morrow wrote: > Since my machine has spent the last 48hrs or so rebuilding everything > that depended on jpeg-6b and python25 (it's a pretty old machine), I've > been wondering if an option to say '*don't* rewrite the dependencies of > other ports to refer to the new version' would be a good solution here. > > Normally this is a helpful thing to do, but when you're trying to > reinstall a few ports low in the dependency chain and then rebuild > everything that needs rebuilding it would be helpful to have the ones > that haven't been rebuilt still depend on the old (now deleted) package, > so they can be identified. That's an interesting idea, but with portmaster you can accomplish the same thing with the -r option. Just use the -R option on successive runs if the first one fails for some reason. > -r (and -Rr) don't help here, since lots of large ports depend on *both* > jpeg and python, and I was specifically trying to avoid rebuilding them > all twice. This is a situation (ports relying on 2 dependencies that both require complete rebuilds) that is not easy to program for. Fortunately it also does not come up very often. > AFAICT -r doesn't allow you to ask for two ports plus all > combined dependants at once. I ended up taking the pkg_info -R list for > both pkgs before the upgrade, sorting it into dependency order, and > stripping entries off the front every time something failed and I had to > restart, which is a little too manual for my taste :). (The list had to > be sorted, otherwise port A might depend on port B that came later in > the list, and when portmaster got to B in the list it would reinstall it > again unnecessarily.) For future reference you would have been better off if you had done 'sort -u' on the list then done 'portmaster `cat list`'. Portmaster would then do all the dependency sorting for you, and it will only rebuild each port on the list once. hth, Doug -- This .signature sanitized for your protection