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

</pre>
<p><a href="https://github.com/macports/macports-base/commit/e3468c5d60b9a5872d37b57c3d0e6a60694daac9">https://github.com/macports/macports-base/commit/e3468c5d60b9a5872d37b57c3d0e6a60694daac9</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e3468c5d60b9a5872d37b57c3d0e6a60694daac9
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Mar 13 05:46:57 2024 +1100

<span style='display:block; white-space:pre;color:#404040;'>    test_archs: avoid failing on unreadable files
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/69478
</span>---
 src/port1.0/porttest.tcl | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/porttest.tcl b/src/port1.0/porttest.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 864eba3bb..9556712b7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/porttest.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/porttest.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,10 +58,21 @@ proc porttest::test_archs {} {
</span>     }
     set file_archs [dict create]
     set destrootlen [string length [option destroot]]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[getuid] == 0 && [geteuid] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # file readable doesn't take euid into account
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        elevateToRoot test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set elevated 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     fs-traverse -depth fullpath [list [option destpath]] {
         if {[file type $fullpath] ne "file"} {
             continue
         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![file readable $fullpath]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug "Skipping unreadable file: $fullpath"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>         if {[fileIsBinary $fullpath]} {
             set archs [get_file_archs $handle $fullpath]
             if {$archs ne ""} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,6 +81,11 @@ proc porttest::test_archs {} {
</span>             }
         }
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[info exists elevated]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        dropPrivileges
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     set wanted_archs [get_canonical_archs]
     set has_wanted_archs [dict exists $file_archs $wanted_archs]
     dict unset file_archs $wanted_archs
</pre><pre style='margin:0'>

</pre>