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