New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Changeset 83144


Ignore:
Timestamp:
08/26/11 05:38:42 (4 years ago)
Author:
jmr@…
Message:

merge r82947 from trunk:

uninstall and deactivate dependents before their dependencies (#8431)

Location:
branches/release_2_0
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/release_2_0

  • branches/release_2_0/base

  • branches/release_2_0/base/portmgr/fedora/macports.spec

  • branches/release_2_0/base/src/pextlib1.0/sha2.c

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/release_2_0/base/src/pextlib1.0/sha2.h

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/release_2_0/base/src/pextlib1.0/sha256cmd.c

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/release_2_0/base/src/pextlib1.0/sha256cmd.h

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/release_2_0/base/src/port/port.tcl

    r82292 r83144  
    512512} 
    513513 
     514# sort portlist so dependents come before their dependencies 
     515proc portlist_sortdependents { portlist } { 
     516    foreach p $portlist { 
     517        array set pvals $p 
     518        lappend entries($pvals(name)) $p 
     519        if {![info exists dependents($pvals(name))]} { 
     520            set dependents($pvals(name)) {} 
     521            foreach result [registry::list_dependents $pvals(name)] { 
     522                lappend dependents($pvals(name)) [lindex $result 2] 
     523            } 
     524        } 
     525        array unset pvals 
     526    } 
     527    set ret {} 
     528    foreach p $portlist { 
     529        portlist_sortdependents_helper $p entries dependents seen ret 
     530    } 
     531    return $ret 
     532} 
     533 
     534proc portlist_sortdependents_helper {p up_entries up_dependents up_seen up_retlist} { 
     535    upvar $up_seen seen 
     536    if {![info exists seen($p)]} { 
     537        set seen($p) 1 
     538        upvar $up_entries entries $up_dependents dependents $up_retlist retlist 
     539        array set pvals $p 
     540        foreach dependent $dependents($pvals(name)) { 
     541            if {[info exists entries($dependent)]} { 
     542                foreach entry $entries($dependent) { 
     543                    portlist_sortdependents_helper $entry entries dependents seen retlist 
     544                } 
     545            } 
     546        } 
     547        lappend retlist $p 
     548    } 
     549} 
     550 
    514551proc regex_pat_sanitize { s } { 
    515552    set sanitized [regsub -all {[\\(){}+$.^]} $s {\\&}] 
     
    23352372        return 1 
    23362373    } 
     2374    set portlist [portlist_sortdependents $portlist] 
    23372375    foreachport $portlist { 
    23382376        set composite_version [composite_version $portversion [array get variations]] 
     
    28972935        return 1 
    28982936    } 
     2937 
     2938    set portlist [portlist_sortdependents $portlist] 
    28992939 
    29002940    foreachport $portlist { 
  • branches/release_2_0/base/src/registry2.0/receipt_sqlite.tcl

    • Property svn:mergeinfo changed (with no actual effect on merging)
Note: See TracChangeset for help on using the changeset viewer.