<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>