Skip to content
Permalink
Browse files

Fix mirroring skipping logic

Doesn't really matter whether a port failed this run, we just care that
we've processed it.
  • Loading branch information
jmroot committed Mar 10, 2018
1 parent a995cfe commit 22dd3cc862a48c1e9b4462ca4e611379f36815a8
Showing with 7 additions and 9 deletions.
  1. +7 −9 tools/mirror-multi.tcl
@@ -48,7 +48,7 @@ foreach vers {10 11 12 13 14 15 16 17} {
}
set deptypes {depends_fetch depends_extract depends_build depends_lib depends_run depends_test}

array set tried_and_failed {}
array set processed {}
array set mirror_done {}

proc check_mirror_done {portname} {
@@ -135,19 +135,19 @@ proc get_variants {portinfovar} {
}

proc mirror_port {portinfo_list} {
global platforms deptypes tried_and_failed
global platforms deptypes processed

array set portinfo $portinfo_list
set portname $portinfo(name)
set porturl $portinfo(porturl)
set processed($portname) 1
set do_mirror 1
if {[lsearch -exact -nocase $portinfo(license) "nomirror"] >= 0} {
ui_msg "Not mirroring $portname due to license"
set do_mirror 0
}
if {[catch {mportopen $porturl [list subport $portname] {}} mport]} {
ui_error "mportopen $porturl failed: $mport"
set tried_and_failed($portname) 1
return 1
}
array unset portinfo
@@ -205,7 +205,7 @@ proc mirror_port {portinfo_list} {
}

foreach dep [lsort -unique $deps] {
if {![info exists tried_and_failed($dep)] && ![check_mirror_done $dep]} {
if {![info exists processed($dep)] && ![check_mirror_done $dep]} {
set result [mportlookup $dep]
if {[llength $result] < 2} {
ui_error "No such port: $dep"
@@ -220,8 +220,6 @@ proc mirror_port {portinfo_list} {

if {$any_failed == 0} {
set_mirror_done $portname
} else {
set tried_and_failed($portname) 1
}
return $any_failed
}
@@ -234,12 +232,12 @@ if {[lindex $::argv 0] eq "-c"} {

set exitval 0
foreach portname $::argv {
if {[info exists tried_and_failed($portname)]} {
ui_msg "skipping ${portname}, already tried and failed"
if {[info exists processed($portname)]} {
ui_msg "skipping ${portname}, already processed"
continue
}
if {[check_mirror_done $portname]} {
ui_msg "skipping ${portname}, already mirrored"
ui_msg "skipping ${portname}, previously mirrored"
continue
}

0 comments on commit 22dd3cc

Please sign in to comment.
You can’t perform that action at this time.