From owner-freebsd-questions@FreeBSD.ORG Mon Feb 14 09:42:14 2005 Return-Path: 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 4598516A4CE for ; Mon, 14 Feb 2005 09:42:14 +0000 (GMT) Received: from out014.verizon.net (out014pub.verizon.net [206.46.170.46]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D4C443D49 for ; Mon, 14 Feb 2005 09:42:13 +0000 (GMT) (envelope-from reso3w83@verizon.net) Received: from ringworm.mechee.com ([4.26.84.7]) by out014.verizon.net ESMTP <20050214094212.PFDE28388.out014.verizon.net@ringworm.mechee.com>; Mon, 14 Feb 2005 03:42:12 -0600 Received: by ringworm.mechee.com (Postfix, from userid 1001) id A82072CE747; Mon, 14 Feb 2005 01:37:56 -0800 (PST) From: "Michael C. Shultz" To: freebsd-questions@freebsd.org User-Agent: KMail/1.7.2 References: <200501271852.j0RIqQ9t010411@mp.cs.niu.edu> <200502140037.30061.reso3w83@verizon.net> <20050214090921.GA36024@xor.obsecurity.org> In-Reply-To: <20050214090921.GA36024@xor.obsecurity.org> MIME-Version: 1.0 Content-Disposition: inline Date: Mon, 14 Feb 2005 01:37:53 -0800 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <200502140137.54963.reso3w83@verizon.net> X-Authentication-Info: Submitted using SMTP AUTH at out014.verizon.net from [4.26.84.7] at Mon, 14 Feb 2005 03:42:12 -0600 cc: portmanager-questions-@sunsite.dk Subject: Re: Updated perl - broke stuff X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 09:42:14 -0000 On Monday 14 February 2005 01:09 am, you wrote: > On Mon, Feb 14, 2005 at 12:37:28AM -0800, Michael C. Shultz wrote: > > portupgrade -rf forces the rebuild of the port and ALL of its > > dependencies, and it builds them in the wrong order, it is nothing > > like portmanager. > > > > example: > > > > if the following are installed: > > > > masterPort-0.0 > > dependentPort-A-0.0 > > dependentPort-B-0.0 > > > > then > > > > dependency-A-0.0 is upgraded > > to dependency-A-0.1 > > > > portupgrade -rf masterPort-0.0 > > > > will build the following in the following order: > > > > masterPort-0.0 > > dependentPort-A-0.1 > > dependentPort-B-0.0 > > Maybe I misunderstand what relationship you are thinking of between > these ports, but 'portupgrade -rf dependency-A-0.0' would do > dependency-A, then masterPort, just as below. Are you confusing -r > with -R (which upgrades ports 'in the other direction in the > dependency tree')? If I'm misunderstanding what you mean, can you > spell it out with clearer Makefile fragments (i.e. what RUN_DEPENDS > on what)? Kris, I made a link to the Makefiles I used on the web page, here it is again: http://portmanager.sunsite.dk/portupgradeTest.html and the Makefiles are in http://portmanager.sunsite.dk/distfiles/portUpgradeTest.tar.gz I just tried -Rf on the test set and you are correct, using masterPort as the target: portupgrade -Rf builds masterPorts dependencies in the correct order ie: masterPort dependentPort-A dependentPort-B However, it still builds everthing and has to be applied to one port at a time. The closer analogy to portmanager would have to be portupgrade -aRf but this would result in every installed port being upgraded, where as portmanager will start with out of date dependencies then proceed up the chain to ports that depend on them, it won't rebuild dependencies that were never upgraded. One other thing I might as well mention, portmanager has no run time dependencies, and does not use /usr/ports/INDEX. -Mike > > > portmanager -u will do the following: > > > > dependentPort-A-0.1 > > masterPort-0.0 > > > > There is a huge difference here! Portupgrade > > builds the top level port before it's dependencies, > > then proceeds to build all of the dependencies wither > > they need it or not. > > Kris