<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/6fd1ac6bcb9c7d088cbb627dd61658a078d57c64">https://github.com/macports/macports-base/commit/6fd1ac6bcb9c7d088cbb627dd61658a078d57c64</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 6fd1ac6bc _activate_contents: rename_list improvements
</span>6fd1ac6bc is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 6fd1ac6bcb9c7d088cbb627dd61658a078d57c64
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri Jun 21 10:21:37 2024 +1000

<span style='display:block; white-space:pre;color:#404040;'>    _activate_contents: rename_list improvements
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Use rename_list as a dict and check it to put files in the right list
</span><span style='display:block; white-space:pre;color:#404040;'>    to begin with, rather than finding the renamed files later and moving
</span><span style='display:block; white-space:pre;color:#404040;'>    them into the other list.
</span>---
 src/port1.0/portactivate.tcl  |  6 +++---
 src/registry2.0/portimage.tcl | 21 ++++++++-------------
 2 files changed, 11 insertions(+), 16 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portactivate.tcl b/src/port1.0/portactivate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 7d3e2a7b9..c1c5167f7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portactivate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portactivate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,12 +67,12 @@ proc portactivate::activate_main {args} {
</span>     }
 
     set reg_options [dict create {*}[array get user_options]]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set renames [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set renames [dict create]
</span>     portstartupitem::foreach_startupitem {
         if {$si_install} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend renames ${prefix}/etc/${si_location}/${si_plist} /Library/${si_location}/${si_plist}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            dict set renames ${prefix}/etc/${si_location}/${si_plist} /Library/${si_location}/${si_plist}
</span>         } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend renames /Library/${si_location}/${si_plist} ${prefix}/etc/${si_location}/${si_plist}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            dict set renames /Library/${si_location}/${si_plist} ${prefix}/etc/${si_location}/${si_plist}
</span>         }
     }
     dict set reg_options portactivate_rename_files $renames
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/registry2.0/portimage.tcl b/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index cc7c94c2f..339f478c1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -571,7 +571,7 @@ proc _activate_contents {port {rename_list {}}} {
</span>     variable progress_step
     variable progress_total_steps
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set filesdict [dict create]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set files [list]
</span>     set baksuffix .mp_[clock seconds]
     set portname [$port name]
     set location [$port location]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -582,6 +582,7 @@ proc _activate_contents {port {rename_list {}}} {
</span> 
     set backups [list]
     set seendirs [dict create]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    set confirmed_rename_list [list]
</span>     # This is big and hairy and probably could be done better.
     # First, we need to check the source file, make sure it exists
     # Then we remove the $location from the path of the file in the contents
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -674,8 +675,12 @@ proc _activate_contents {port {rename_list {}}} {
</span>                     set directory [::file dirname $directory]
                 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                # Also add the filename to the imagefile list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                dict set filesdict $file 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Also add the filename to the normal or renamed list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[dict exists $rename_list $file]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend confirmed_rename_list $file [dict get $rename_list $file]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend files $file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span>             }
         }
         set directories [dict keys $seendirs]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -696,16 +701,6 @@ proc _activate_contents {port {rename_list {}}} {
</span>         # We don't have to do this as mentioned above, but it makes the
         # debug output of activate make more sense.
         set directories [lsort -increasing -unique $directories]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # handle files that are to be renamed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set confirmed_rename_list [list]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach {src dest} $rename_list {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[dict exists $filesdict $src]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                dict unset filesdict $src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend confirmed_rename_list $src $dest
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set files [dict keys $filesdict]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        unset filesdict
</span> 
         set rollback_filelist [list]
 
</pre><pre style='margin:0'>

</pre>