<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch release-2.11
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/6ed0f1eaa96d233ed340828aba34490f957dd956">https://github.com/macports/macports-base/commit/6ed0f1eaa96d233ed340828aba34490f957dd956</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/release-2.11 by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 6ed0f1eaa mportsync: ensure existing index's permissions
</span>6ed0f1eaa is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 6ed0f1eaa96d233ed340828aba34490f957dd956
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon Jul 14 13:35:01 2025 +1000
<span style='display:block; white-space:pre;color:#404040;'> mportsync: ensure existing index's permissions
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> A PortIndex may previously have been generated as e.g. root and thus
</span><span style='display:block; white-space:pre;color:#404040;'> may lack either read or write permissions for the directory owner that
</span><span style='display:block; white-space:pre;color:#404040;'> the portindex command is run as.
</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/72677
</span><span style='display:block; white-space:pre;color:#404040;'> (cherry picked from commit 2810b153e1acb7d8feb3001fa36a2886528eedc9)
</span>---
src/macports1.0/macports.tcl | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/macports.tcl b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 086fbdac0..87e99bde9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3730,9 +3730,19 @@ proc mportsync {{options {}}} {
</span> set any_needed_portindex true
if {![dict exists $options no_reindex]} {
global macports::prefix
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set indexdir [file dirname [macports::getindex $source]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set indexfile [macports::getindex $source]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set indexdir [file dirname $indexfile]
</span> set owner [file attributes $indexdir -owner]
set group [file attributes $indexdir -group]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[getuid] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Ensure any existing index can be read and written
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f [list $indexfile ${indexfile}.quick] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isfile $f] && [file attributes $f -owner] ne $owner} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file attributes $f -owner $owner
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file attributes $f -permissions 0644
</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> if {[catch {
macports::run_unprivileged {
system -W ${portdbpath}/home "${prefix}/bin/portindex [macports::shellescape $indexdir]"
</pre><pre style='margin:0'>
</pre>