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