Changeset 15647


Ignore:
Timestamp:
Dec 30, 2005, 4:03:51 PM (15 years ago)
Author:
olegb
Message:

Bug: 6220
Submitted by: dluke@
Reviewed by: olegb@
Approved by: olegb@
Obtained from:

dluke's optimization of the upgrade code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/src/darwinports1.0/darwinports.tcl

    r15506 r15647  
    11# darwinports.tcl
    2 # $Id: darwinports.tcl,v 1.200 2005/12/14 05:10:19 jberry Exp $
     2# $Id: darwinports.tcl,v 1.201 2005/12/30 16:03:51 olegb Exp $
    33#
    44# Copyright (c) 2002 Apple Computer, Inc.
     
    14331433
    14341434# upgrade procedure
    1435 proc darwinports::upgrade {pname dspec variationslist optionslist} {
     1435proc darwinports::upgrade {pname dspec variationslist optionslist {depscachename ""}} {
    14361436        array set options $optionslist
    14371437        array set variations $variationslist
     1438        if {![string match "" $depscachename]} {
     1439                upvar $depscachename depscache
     1440        }
    14381441
    14391442        # set to no-zero is epoch overrides version
     
    15721575                if {[info exists portinfo(depends_build)]} {
    15731576                        foreach i $portinfo(depends_build) {
     1577                                if {![llength [array get depscache $i]]} {
    15741578                                set d [lindex [split $i :] end]
    1575                                 upgrade $d $i $variationslist $optionslist
     1579                                        set depscache($i) 1
     1580                                        upgrade $d $i $variationslist $optionslist depscache
     1581                                }
    15761582                        }
    15771583                }
     
    15791585                if {[info exists portinfo(depends_lib)]} {
    15801586                        foreach i $portinfo(depends_lib) {
     1587                                if {![llength [array get depscache $i]]} {
    15811588                                set d [lindex [split $i :] end]
    1582                                 upgrade $d $i $variationslist $optionslist
     1589                                        set depscache($i) 1
     1590                                        upgrade $d $i $variationslist $optionslist depscache
     1591                                }
    15831592                        }
    15841593                }
     
    15861595                if {[info exists portinfo(depends_run)]} {
    15871596                        foreach i $portinfo(depends_run) {
     1597                                if {![llength [array get depscache $i]]} {
    15881598                                set d [lindex [split $i :] end]
    1589                                 upgrade $d $i $variationslist $optionslist
     1599                                        set depscache($i) 1
     1600                                        upgrade $d $i $variationslist $optionslist depscache
     1601                                }
    15901602                        }
    15911603                }
Note: See TracChangeset for help on using the changeset viewer.