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