<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository mpbb.
</pre>
<p><a href="https://github.com/macports/mpbb/commit/1aa2d17dfd7302d26422f568350b2091bc3d7dbf">https://github.com/macports/mpbb/commit/1aa2d17dfd7302d26422f568350b2091bc3d7dbf</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 1aa2d17 mirror-multi: remove workaround for old base
</span>1aa2d17 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 1aa2d17dfd7302d26422f568350b2091bc3d7dbf
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Nov 15 16:36:10 2022 +1100
<span style='display:block; white-space:pre;color:#404040;'> mirror-multi: remove workaround for old base
</span>---
tools/mirror-multi.tcl | 73 +++++++++++++++++++++++---------------------------
1 file changed, 34 insertions(+), 39 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/mirror-multi.tcl b/tools/mirror-multi.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 79bcfdb..12f4600 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tools/mirror-multi.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/mirror-multi.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,11 +59,10 @@ array set mirror_done [list]
</span> array set distfiles_results [list]
proc check_mirror_done {portname} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global mirror_done mirrorcache_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[info exists mirror_done($portname)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return $mirror_done($portname)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists ::mirror_done($portname)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return $::mirror_done($portname)
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set cache_entry [file join $mirrorcache_dir [string toupper [string index $portname 0]] $portname]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cache_entry [file join $::mirrorcache_dir [string toupper [string index $portname 0]] $portname]
</span> if {[file isfile $cache_entry]} {
set result [mportlookup $portname]
if {[llength $result] < 2} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -80,33 +79,32 @@ proc check_mirror_done {portname} {
</span> close $fd
if {$portfile_hash eq $entry_hash} {
if {$partial eq ""} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mirror_done($portname) 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::mirror_done($portname) 1
</span> return 1
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mirror_done($portname) $partial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::mirror_done($portname) $partial
</span> return $partial
}
} else {
file delete -force $cache_entry
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mirror_done($portname) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::mirror_done($portname) 0
</span> }
}
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mirror_done($portname) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::mirror_done($portname) 0
</span> }
return 0
}
proc set_mirror_done {portname value} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global mirror_done mirrorcache_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![info exists mirror_done($portname)] || $mirror_done($portname) != 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![info exists ::mirror_done($portname)] || $::mirror_done($portname) != 1} {
</span> set result [mportlookup $portname]
array unset portinfo
array set portinfo [lindex $result 1]
set portfile [file join [macports::getportdir $portinfo(porturl)] Portfile]
set portfile_hash [sha256 file $portfile]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set cache_dir [file join $mirrorcache_dir [string toupper [string index $portname 0]]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cache_dir [file join $::mirrorcache_dir [string toupper [string index $portname 0]]]
</span> file mkdir $cache_dir
set cache_entry [file join $cache_dir $portname]
set fd [open $cache_entry w]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -115,15 +113,14 @@ proc set_mirror_done {portname value} {
</span> puts $fd $value
}
close $fd
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mirror_done($portname) 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::mirror_done($portname) 1
</span> }
}
proc get_dep_list {portinfovar} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global deptypes
</span> upvar $portinfovar portinfo
set deps {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach deptype $deptypes {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach deptype $::deptypes {
</span> if {[info exists portinfo($deptype)]} {
foreach dep $portinfo($deptype) {
lappend deps [lindex [split $dep :] end]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -150,26 +147,18 @@ proc get_variants {portinfovar} {
</span> return $variants
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# work around the bug where the mirror target claims to succeed when
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# the distfile checksums did not match
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-proc check_distfiles {mport} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- global distfiles_results
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Remember that the distfiles have been tried already
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (same distfiles can be shared by multiple ports)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc save_distfiles_results {mport succeeded} {
</span> if {[catch {_mportkey $mport all_dist_files} all_dist_files]} {
# no distfiles, no problem
<span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span> }
set distpath [_mportkey $mport distpath]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set ret 0
</span> foreach distfile $all_dist_files {
set filepath [file join $distpath $distfile]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[file exists $filepath]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set distfiles_results($filepath) 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set distfiles_results($filepath) 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set ret 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::distfiles_results($filepath) $succeeded
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- return $ret
</span> }
# Given a distribution file name, return the name without an attached tag
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -199,7 +188,6 @@ proc skip_mirror {mport identifier} {
</span> if {![info exists patchfiles]} {
set patchfiles [list]
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global distfiles_results
</span> set distpath [_mportkey $mport distpath]
set filespath [_mportkey $mport filespath]
set any_unmirrored 0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -209,9 +197,9 @@ proc skip_mirror {mport identifier} {
</span> }
set distfile [getdistname $distfile]
set filepath [file join $distpath $distfile]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![info exists distfiles_results($filepath)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![info exists ::distfiles_results($filepath)]} {
</span> set any_unmirrored 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>- } elseif {$distfiles_results($filepath) == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$::distfiles_results($filepath) == 0} {
</span> ui_msg "Skipping ${identifier}: $distfile already failed checksum"
return 2
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -225,12 +213,10 @@ proc skip_mirror {mport identifier} {
</span>
proc mirror_port {portinfo_list} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global platforms deptypes processed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> array set portinfo $portinfo_list
set portname $portinfo(name)
set porturl $portinfo(porturl)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set processed($portname) 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ::processed($portname) 1
</span> set do_mirror 1
set attempted 0
set succeeded 0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -249,8 +235,11 @@ proc mirror_port {portinfo_list} {
</span> if {$do_mirror && $skip_result == 0} {
incr attempted
mportexec $mport clean
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[mportexec $mport mirror] == 0 && [check_distfiles $mport] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[mportexec $mport mirror] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ save_distfiles_results $mport 1
</span> incr succeeded
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ save_distfiles_results $mport 0
</span> }
} elseif {$skip_result == 2} {
# count as a failure
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -274,8 +263,11 @@ proc mirror_port {portinfo_list} {
</span> if {$do_mirror && $skip_result == 0} {
incr attempted
mportexec $mport clean
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[mportexec $mport mirror] == 0 && [check_distfiles $mport] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[mportexec $mport mirror] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ save_distfiles_results $mport 1
</span> incr succeeded
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ save_distfiles_results $mport 0
</span> }
} elseif {$skip_result == 2} {
incr attempted
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -283,7 +275,7 @@ proc mirror_port {portinfo_list} {
</span> mportclose $mport
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach {os_major os_arch} $platforms {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach {os_major os_arch} $::platforms {
</span> ui_msg "$portname with platform 'darwin $os_major $os_arch'"
if {[catch {mportopen $porturl [list subport $portname os_major $os_major os_arch $os_arch] {}} mport]} {
ui_error "mportopen $porturl failed: $mport"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -296,8 +288,11 @@ proc mirror_port {portinfo_list} {
</span> if {$do_mirror && $skip_result == 0} {
incr attempted
mportexec $mport clean
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[mportexec $mport mirror] == 0 && [check_distfiles $mport] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[mportexec $mport mirror] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ save_distfiles_results $mport 1
</span> incr succeeded
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ save_distfiles_results $mport 0
</span> }
} elseif {$skip_result == 2} {
incr attempted
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -307,7 +302,7 @@ proc mirror_port {portinfo_list} {
</span>
set dep_failed 0
foreach dep [lsort -unique $deps] {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![info exists processed($dep)] && [check_mirror_done $dep] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![info exists ::processed($dep)] && [check_mirror_done $dep] == 0} {
</span> set result [mportlookup $dep]
if {[llength $result] < 2} {
ui_error "No such port: $dep"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -339,7 +334,7 @@ if {[lindex $::argv 0] eq "-c"} {
</span>
set exitval 0
foreach portname $::argv {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[info exists processed($portname)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists ::processed($portname)]} {
</span> ui_msg "skipping ${portname}, already processed"
continue
}
</pre><pre style='margin:0'>
</pre>