<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/8ae0d73589330693f3b17849fdd5e65f0f56a5c1">https://github.com/macports/macports-base/commit/8ae0d73589330693f3b17849fdd5e65f0f56a5c1</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 8ae0d7358 Add extract.rename option
</span>8ae0d7358 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 8ae0d73589330693f3b17849fdd5e65f0f56a5c1
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri Dec 9 19:10:17 2022 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Add extract.rename option
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This restores the functionality of 7921b2e on an opt-in basis and
</span><span style='display:block; white-space:pre;color:#404040;'>    without the semantic differences introduced by creating a symlink.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://trac.macports.org/ticket/66415
</span>---
 src/port1.0/portextract.tcl | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portextract.tcl b/src/port1.0/portextract.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 791f44444..11a33b34b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portextract.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portextract.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,7 +43,7 @@ namespace eval portextract {
</span> }
 
 # define options
<span style='display:block; white-space:pre;background:#ffe0e0;'>-options extract.only extract.mkdir extract.asroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options extract.only extract.mkdir extract.rename extract.asroot
</span> commands extract
 
 # Set up defaults
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,6 +57,7 @@ default extract.cmd {[findBinary gzip ${portutil::autoconf::gzip_path}]}
</span> default extract.pre_args -dc
 default extract.post_args {| ${portutil::autoconf::tar_command} -xf -}
 default extract.mkdir no
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default extract.rename no
</span> 
 set_ui_prefix
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -124,7 +125,7 @@ proc portextract::extract_start {args} {
</span> }
 
 proc portextract::extract_main {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global UI_PREFIX filespath worksrcpath extract.dir use_dmg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global filespath extract.dir use_dmg
</span> 
     if {![exists distfiles] && ![exists extract.only]} {
         # nothing to do
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -132,7 +133,7 @@ proc portextract::extract_main {args} {
</span>     }
 
     foreach distfile [option extract.only] {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_info "$UI_PREFIX [format [msgcat::mc "Extracting %s"] $distfile]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "$::UI_PREFIX [format [msgcat::mc "Extracting %s"] $distfile]"
</span>         if {[file exists $filespath/$distfile]} {
             option extract.args "'$filespath/$distfile'"
         } else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -156,5 +157,21 @@ proc portextract::extract_main {args} {
</span> 
         chownAsRoot ${extract.dir}
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option extract.rename]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        global workpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # rename whatever directory exists in $workpath to $worksrcdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set worksubdirs [glob -nocomplain -types d -directory $workpath *]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[llength $worksubdirs] == 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set origpath [lindex $worksubdirs 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug [format [msgcat::mc "extract.rename: Renaming %s -> %s"] [file tail $origpath] [option worksrcdir]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            move $origpath [option worksrcpath]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {[llength $worksubdirs] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "extract.rename: no directories exist in $workpath"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "extract.rename: multiple directories exist in ${workpath}: $worksubdirs"
</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>     return 0
 }
</pre><pre style='margin:0'>

</pre>