Changeset 82947
- Timestamp:
- 08/22/11 07:16:25 (4 years ago)
- File:
-
- 1 edited
-
trunk/base/src/port/port.tcl (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/base/src/port/port.tcl
r82291 r82947 514 514 } 515 515 516 # sort portlist so dependents come before their dependencies 517 proc portlist_sortdependents { portlist } { 518 foreach p $portlist { 519 array set pvals $p 520 lappend entries($pvals(name)) $p 521 if {![info exists dependents($pvals(name))]} { 522 set dependents($pvals(name)) {} 523 foreach result [registry::list_dependents $pvals(name)] { 524 lappend dependents($pvals(name)) [lindex $result 2] 525 } 526 } 527 array unset pvals 528 } 529 set ret {} 530 foreach p $portlist { 531 portlist_sortdependents_helper $p entries dependents seen ret 532 } 533 return $ret 534 } 535 536 proc portlist_sortdependents_helper {p up_entries up_dependents up_seen up_retlist} { 537 upvar $up_seen seen 538 if {![info exists seen($p)]} { 539 set seen($p) 1 540 upvar $up_entries entries $up_dependents dependents $up_retlist retlist 541 array set pvals $p 542 foreach dependent $dependents($pvals(name)) { 543 if {[info exists entries($dependent)]} { 544 foreach entry $entries($dependent) { 545 portlist_sortdependents_helper $entry entries dependents seen retlist 546 } 547 } 548 } 549 lappend retlist $p 550 } 551 } 552 516 553 proc regex_pat_sanitize { s } { 517 554 set sanitized [regsub -all {[\\(){}+$.^]} $s {\\&}] … … 2337 2374 return 1 2338 2375 } 2376 set portlist [portlist_sortdependents $portlist] 2339 2377 foreachport $portlist { 2340 2378 set composite_version [composite_version $portversion [array get variations]] … … 2899 2937 return 1 2900 2938 } 2939 2940 set portlist [portlist_sortdependents $portlist] 2901 2941 2902 2942 foreachport $portlist {
Note: See TracChangeset
for help on using the changeset viewer.

