<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/c3c817e05df701184887fe34d65a39ad7f62d37a">https://github.com/macports/macports-base/commit/c3c817e05df701184887fe34d65a39ad7f62d37a</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 c3c817e05 Fix incorrect portimage_mode directory handling
</span>c3c817e05 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit c3c817e05df701184887fe34d65a39ad7f62d37a
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Oct 2 15:37:53 2024 +1000

<span style='display:block; white-space:pre;color:#404040;'>    Fix incorrect portimage_mode directory handling
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Specifically in the archivefetch and unarchive targets. The latter not
</span><span style='display:block; white-space:pre;color:#404040;'>    working was affecting its dependents like pkg and mpkg.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/71011
</span>---
 src/package1.0/portarchivefetch.tcl | 12 ++++++++----
 src/package1.0/portunarchive.tcl    | 35 +++++++++++++++++++++++------------
 2 files changed, 31 insertions(+), 16 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portarchivefetch.tcl b/src/package1.0/portarchivefetch.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 2d1cf4457..9917078a1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portarchivefetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portarchivefetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -167,10 +167,10 @@ proc portarchivefetch::checkfiles {urls} {
</span> # Perform a standard fetch, assembling fetch urls from
 # the listed url variable and associated archive file
 proc portarchivefetch::fetchfiles {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global UI_PREFIX archivefetch.fulldestpath \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           archivefetch.user archivefetch.password archivefetch.use_epsv \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           archivefetch.ignore_sslcert archive.subdir \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           portverbose ports_binary_only portdbpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global UI_PREFIX archivefetch.fulldestpath archivefetch.user \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           archivefetch.password archivefetch.use_epsv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           archivefetch.ignore_sslcert archive.subdir portverbose \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ports_binary_only portdbpath force_archive_refresh
</span>     variable archivefetch_urls
     variable ::portfetch::urlmap
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -210,6 +210,10 @@ proc portarchivefetch::fetchfiles {args} {
</span>     set sorted no
 
     set existing_archive [find_portarchive_path]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$existing_archive eq "" && ![tbool force_archive_refresh]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        && [file isdirectory [file rootname [get_portimage_path]]]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set existing_archive yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
     foreach {url_var archive} $archivefetch_urls {
         if {![file isfile ${archivefetch.fulldestpath}/${archive}] && $existing_archive eq ""} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portunarchive.tcl b/src/package1.0/portunarchive.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index a339ac058..682fd300a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portunarchive.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portunarchive.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -86,6 +86,11 @@ proc portunarchive::unarchive_init {args} {
</span>         set unarchive.type [string range [file extension ${unarchive.file}] 1 end]
         if {${unarchive.path} ne ""} {
             ui_debug "Found [string toupper ${unarchive.type}] archive: ${unarchive.path}"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {[registry_exists $subport $version $revision $portvariants]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                  && [file isdirectory [set unarchive.path [file rootname [get_portimage_path]]]]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set unarchive.type directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set unarchive.file [file tail ${unarchive.path}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug "Found extracted port image: ${unarchive.path}"
</span>         } else {
             if {[info exists ports_binary_only] && $ports_binary_only eq "yes"} {
                 return -code error "Archive for ${subport} ${version}_${revision}${portvariants} not found, required when binary-only is set!"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -255,26 +260,32 @@ proc portunarchive::unarchive_command_setup {args} {
</span> }
 
 proc portunarchive::unarchive_main {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global UI_PREFIX unarchive.dir unarchive.file unarchive.pipe_cmd unarchive.skip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global UI_PREFIX unarchive.dir unarchive.file unarchive.path \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           unarchive.pipe_cmd unarchive.skip
</span> 
     if {${unarchive.skip}} {
         return 0
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Setup unarchive command
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    unarchive_command_setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[file isfile ${unarchive.path}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Setup unarchive command
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        unarchive_command_setup
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Create destination directory for unpacking
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![file isdirectory ${unarchive.dir}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${unarchive.dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Create destination directory for unpacking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![file isdirectory ${unarchive.dir}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file mkdir ${unarchive.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Unpack the archive
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_info "$UI_PREFIX [format [msgcat::mc "Extracting %s"] ${unarchive.file}]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${unarchive.pipe_cmd} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        command_exec unarchive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Unpack the archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "$UI_PREFIX [format [msgcat::mc "Extracting %s"] ${unarchive.file}]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${unarchive.pipe_cmd} eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            command_exec unarchive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            command_exec unarchive "${unarchive.pipe_cmd} (" ")"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        command_exec unarchive "${unarchive.pipe_cmd} (" ")"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "$UI_PREFIX [format [msgcat::mc "Copying %s to destroot"] ${unarchive.file}]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy -force ${unarchive.path} ${unarchive.dir}
</span>     }
 
     return 0
</pre><pre style='margin:0'>

</pre>