Date: Mon, 14 Feb 2005 01:37:53 -0800 From: "Michael C. Shultz" <reso3w83@verizon.net> To: freebsd-questions@freebsd.org Cc: portmanager-questions-@sunsite.dk Subject: Re: Updated perl - broke stuff Message-ID: <200502140137.54963.reso3w83@verizon.net> In-Reply-To: <20050214090921.GA36024@xor.obsecurity.org> References: <200501271852.j0RIqQ9t010411@mp.cs.niu.edu> <200502140037.30061.reso3w83@verizon.net> <20050214090921.GA36024@xor.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502140137.54963.reso3w83>