<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/55ea43cbd2d6de96f8f347b6500e683f01c19517">https://github.com/macports/mpbb/commit/55ea43cbd2d6de96f8f347b6500e683f01c19517</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 55ea43c  sort-with-subports: deploy all installed variants
</span>55ea43c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 55ea43cbd2d6de96f8f347b6500e683f01c19517
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Jan 19 10:53:59 2021 +1100

<span style='display:block; white-space:pre;color:#404040;'>    sort-with-subports: deploy all installed variants
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    If an archive has been uploaded for a port's default variants, check if
</span><span style='display:block; white-space:pre;color:#404040;'>    it is installed with any other variants (typically universal) and don't
</span><span style='display:block; white-space:pre;color:#404040;'>    exclude if any have not been uploaded.
</span>---
 tools/sort-with-subports.tcl | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/sort-with-subports.tcl b/tools/sort-with-subports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 8250fb2..ee6c248 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tools/sort-with-subports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/sort-with-subports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,6 +34,7 @@
</span> #
 
 package require macports
<span style='display:block; white-space:pre;background:#e0ffe0;'>+package require fetch_common
</span> package require sha256
 
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -276,12 +277,28 @@ while {[llength $todo] > 0} {
</span>                         array set portinfo [mportinfo $mport]
                     }
                     set workername [ditem_key $mport workername]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set archive_name [$workername eval {portfetch::percent_encode [get_portimage_name]}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {![catch {curl getsize ${archive_site_public}/$portinfo(name)/${archive_name}} size] && $size > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        if {[info exists requestedports($p)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            puts stderr "Excluding $portinfo(name) because it has already been built and uploaded to the public server"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set archive_name [$workername eval {get_portimage_name}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set archive_name_encoded [portfetch::percent_encode $archive_name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {![catch {curl getsize ${archive_site_public}/$portinfo(name)/${archive_name_encoded}} size] && $size > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        # Check for other installed variants that might not have been uploaded
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set archives_prefix ${macports::portdbpath}/software/$portinfo(name)/$portinfo(name)-$portinfo(version)_$portinfo(revision)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set any_archive_missing 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        foreach installed_archive [glob -nocomplain -tails -path ${archives_prefix} *] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            if {$installed_archive ne $archive_name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                set installed_archive_encoded [portfetch::percent_encode $installed_archive]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                if {[catch {curl getsize ${archive_site_public}/$portinfo(name)/${installed_archive_encoded}} size] || $size <= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    set any_archive_missing 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    puts stderr "$installed_archive installed but not uploaded"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        if {!$any_archive_missing} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            if {[info exists requestedports($p)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                puts stderr "Excluding $portinfo(name) because it has already been built and uploaded to the public server"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            set outputports($p) 0
</span>                         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        set outputports($p) 0
</span>                     }
                 } else {
                     if {[info exists requestedports($p)]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -292,7 +309,7 @@ while {[llength $todo] > 0} {
</span>                 if {$outputports($p) == 1 && $archive_site_private ne "" && $jobs_dir ne ""} {
                     # FIXME: support non-default variants
                     set results [check_licenses $portinfo(name) [list]]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {[lindex $results 0] == 1 && ![catch {curl getsize ${archive_site_private}/$portinfo(name)/${archive_name}} size] && $size > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {[lindex $results 0] == 1 && ![catch {curl getsize ${archive_site_private}/$portinfo(name)/${archive_name_encoded}} size] && $size > 0} {
</span>                         if {[info exists requestedports($p)]} {
                             puts stderr "Excluding $portinfo(name) because it is not distributable and it has already been built and uploaded to the private server"
                         }
</pre><pre style='margin:0'>

</pre>