Changeset 81265
- Timestamp:
- 07/28/11 06:18:42 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/gsoc11-rev-upgrade/base/src/macports1.0/macports.tcl
r81260 r81265 3844 3844 set broken_files [lsort -unique $broken_files] 3845 3845 foreach file $broken_files { 3846 set port [registry:: file_registered$file]3847 if {$port == 0} {3846 set port [registry::entry owner $file] 3847 if {$port == ""} { 3848 3848 ui_error "Broken file `$file' doesn't belong to any port." 3849 3849 } … … 3882 3882 lappend topsort_ports $port 3883 3883 # remove from unsorted list 3884 # TODO: use lremove(n) 3884 3885 set index [lsearch $unsorted_ports $port] 3885 3886 set unsorted_ports [concat [lrange $unsorted_ports 0 $index-1] [lrange $unsorted_ports $index+1 end]] … … 3894 3895 } 3895 3896 3896 ui_msg "---> Rebuilding in order: $topsort_ports" 3897 ui_msg "---> Rebuilding in order" 3898 foreach port $topsort_ports { 3899 ui_msg " [$port name] @[$port version] [$port variants][$port negated_variants]" 3900 } 3897 3901 } 3898 3902 … … 3906 3910 upvar $visitedname visited 3907 3911 3908 ui_debug "Processing port $port"3909 set dependent_ports [ get_dependent_ports $port false]3912 ui_debug "Processing port [$port name] @[$port epoch]:[$port version]_[$port revision] [$port variants] [$port negated_variants]" 3913 set dependent_ports [$port dependents] 3910 3914 foreach dep $dependent_ports { 3911 array set deparray $dep 3912 set depname $deparray(name) 3913 3914 if {[info exists visited($depname)]} { 3915 if {[info exists visited($dep)]} { 3915 3916 continue 3916 3917 } 3917 set visited($dep name) true3918 set visited($dep) true 3918 3919 set is_broken_port false 3919 3920 3920 if {[info exists adjlist($dep name)]} {3921 ui_debug "Dependency $depname is broken, adding edge from [lindex $stack 0] to $depname"3922 ui_debug "Making $depnamenew head of stack"3921 if {[info exists adjlist($dep)]} { 3922 ui_debug "Dependency [$dep name] is broken, adding edge from [[lindex $stack 0] name] to [$dep name]" 3923 ui_debug "Making [$dep name] new head of stack" 3923 3924 # $dep is one of the broken ports 3924 3925 # add an edge to the last broken port in the DFS 3925 lappend adjlist([lindex $stack 0]) $depname3926 lappend revadjlist($depname) [lindex $stack 0]3926 lappend revadjlist([lindex $stack 0]) $dep 3927 lappend adjlist($dep) [lindex $stack 0] 3927 3928 # make this port the new last broken port by prepending it to the stack 3928 set stack [linsert last_visited 0 $depname]3929 set stack [linsert $stack 0 $dep] 3929 3930 3930 3931 set is_broken_port true 3931 3932 } 3932 revupgrade_buildgraph $dep namestack adjlist revadjlist visited3933 revupgrade_buildgraph $dep stack adjlist revadjlist visited 3933 3934 if {$is_broken_port} { 3934 ui_debug "Removing $depnamefrom stack"3935 ui_debug "Removing [$dep name] from stack" 3935 3936 # remove $dep from the stack 3936 3937 set stack [lrange $stack 1 end]
Note: See TracChangeset
for help on using the changeset viewer.

