<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-infrastructure.

</pre>
<p><a href="https://github.com/macports/macports-infrastructure/commit/4c53cdc9b02cc2720723c412bdf6c03fdc8e32cf">https://github.com/macports/macports-infrastructure/commit/4c53cdc9b02cc2720723c412bdf6c03fdc8e32cf</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 4c53cdc  delete_old_distfiles.tcl: reduce number of parses
</span>4c53cdc is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 4c53cdc9b02cc2720723c412bdf6c03fdc8e32cf
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Nov 7 02:08:46 2019 +1100

<span style='display:block; white-space:pre;color:#404040;'>    delete_old_distfiles.tcl: reduce number of parses
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Instead of parsing Portfiles extracted from archives for every possible
</span><span style='display:block; white-space:pre;color:#404040;'>    platform, derive the platform from the archive's filename.
</span>---
 jobs/delete_old_distfiles.tcl | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/jobs/delete_old_distfiles.tcl b/jobs/delete_old_distfiles.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index d9c710e..3bee1e8 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/jobs/delete_old_distfiles.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/jobs/delete_old_distfiles.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,19 +43,21 @@ package require macports
</span> mportinit
 
 set platforms [list 8 powerpc 8 i386 9 powerpc 9 i386]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach vers {10 11 12 13 14 15 16 17} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach vers {10 11 12 13 14 15 16 17 18 19} {
</span>     if {${macports::os_major} != $vers} {
         lappend platforms $vers i386
     }
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# build_arch values that could be considered "native" on platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# where 'uname -p' says 'i386'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set i386_archs [list x86_64 noarch i386]
</span> 
 if {[catch {set res [mportlistall]} result]} {
     puts stderr "$::errorInfo"
     error "listing all ports failed: $result"
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc add_distfiles {porturl subport distfiles_var} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc add_distfiles {porturl subport distfiles_var check_platforms} {
</span>     upvar $distfiles_var portname_distfiles
     if {[catch {mportopen $porturl [list subport $subport] {}} mport]} {
         ui_error "mportopen $porturl failed: $mport"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,7 +87,7 @@ proc add_distfiles {porturl subport distfiles_var} {
</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} $check_platforms {
</span>         #ui_msg "$subport with platform 'darwin $os_major $os_arch'"
         if {[catch {mportopen $porturl [list subport $subport os_major $os_major os_arch $os_arch] {}} mport]} {
             ui_error "mportopen $porturl failed: $mport"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -120,11 +122,23 @@ if {[info exists keepfile]} {
</span>             # shouldn't be mirrored, so don't keep it if it is somehow there
             continue
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        add_distfiles $portinfo(porturl) $portname portname_distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        add_distfiles $portinfo(porturl) $portname portname_distfiles $platforms
</span>         foreach archive [glob -nocomplain -directory $packages_root ${portname}/*.${archive_type}] {
             exec -ignorestderr tar -xjq -C ${portfile_dir} -f $archive +PORTFILE
             file rename -force ${portfile_dir}/+PORTFILE ${portfile_dir}/Portfile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            add_distfiles file://${portfile_dir} $portname portname_distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # figure out the platform from the filename
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set segments [split [file tail $archive] .]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set archs [split [lindex $segments end-1] -]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set major [lindex [split [lindex $segments end-2] _] end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set this_platforms [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            foreach arch $archs {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {$arch in $i386_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend this_platforms $major i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend this_platforms $major powerpc
</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;'>+            add_distfiles file://${portfile_dir} $portname portname_distfiles $this_platforms
</span>         }
         # deduplicate as we go
         lappend distfiles_to_keep {*}[lsort -unique $portname_distfiles]
</pre><pre style='margin:0'>

</pre>