Updated perl - broke stuff
    Michael C. Shultz 
    reso3w83 at verizon.net
       
    Mon Feb 14 09:42:14 GMT 2005
    
    
  
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
    
    
More information about the freebsd-questions
mailing list