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