<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch release-2.10
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/2de4a682000a9d1f1e92adf486a0b25abc3d0416">https://github.com/macports/macports-base/commit/2de4a682000a9d1f1e92adf486a0b25abc3d0416</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 2de4a682000a9d1f1e92adf486a0b25abc3d0416
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Nov 23 09:29:54 2024 +1100

<span style='display:block; white-space:pre;color:#404040;'>    mportsync: rsync files to a subdir
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    (cherry picked from commit 906525fab1d57bb7b76729b83ef73b48b335656b)
</span>---
 src/macports1.0/macports.tcl | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/macports.tcl b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 368302499..d479dd0a4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3262,8 +3262,17 @@ proc mportsync {{options {}}} {
</span>                     }
                     set include_option "--include=/${filename} --include=/${filename}.rmd160"
                     # need to do a few things before replacing the ports tree in this case
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set destdir [file dirname $destdir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set extractdir [file dirname $destdir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set destdir [file join $extractdir remote]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    file mkdir $destdir
</span>                     set srcstr $rooturl
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set old_tarball_path [file join $extractdir $filename]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {[file isfile $old_tarball_path]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        file rename -force $old_tarball_path $destdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set old_PortIndex_path [file join $extractdir PortIndex]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    file delete -force {*}[glob -nocomplain -directory $extractdir [file rootname $filename]*] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${old_PortIndex_path} ${old_PortIndex_path}.rmd160
</span>                 } else {
                     # Keep rsync happy with a trailing slash
                     if {[string index $source end] ne "/"} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3336,9 +3345,9 @@ proc mportsync {{options {}}} {
</span>                         set tar [macports::findBinary tar $tar_path]
                     }
                     # extract tarball and move into place
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    file mkdir ${destdir}/tmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    file mkdir ${extractdir}/tmp
</span>                     set zflag [expr {[file extension $tarball] eq ".gz" ? "z" : ""}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set tar_cmd "$tar -C ${destdir}/tmp -x${zflag}f $tarball"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set tar_cmd "$tar -C ${extractdir}/tmp -x${zflag}f $tarball"
</span>                     macports_try -pass_signal {
                         system $tar_cmd
                     } on error {eMessage} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3349,14 +3358,14 @@ proc mportsync {{options {}}} {
</span>                     # save the local PortIndex data
                     if {[file isfile $indexfile]} {
                         file copy -force $indexfile ${destdir}/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        file rename -force $indexfile ${destdir}/tmp/ports/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        file rename -force $indexfile ${extractdir}/tmp/ports/
</span>                         if {[file isfile ${indexfile}.quick]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                            file rename -force ${indexfile}.quick ${destdir}/tmp/ports/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            file rename -force ${indexfile}.quick ${extractdir}/tmp/ports/
</span>                         }
                     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    file delete -force ${destdir}/ports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    file rename ${destdir}/tmp/ports ${destdir}/ports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    file delete -force ${destdir}/tmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    file delete -force ${extractdir}/ports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    file rename ${extractdir}/tmp/ports ${extractdir}/ports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    file delete -force ${extractdir}/tmp
</span>                     # delete any old uncompressed tarball
                     if {[file extension $tarball] eq ".gz"} {
                         file delete -force [file rootname $tarball] [file rootname $tarball].rmd160
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3400,7 +3409,7 @@ proc mportsync {{options {}}} {
</span>                             }
                             if {$ok} {
                                 # move PortIndex into place
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                file rename -force ${destdir}/PortIndex ${destdir}/ports/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                file rename -force ${destdir}/PortIndex ${extractdir}/ports/
</span>                             }
                         }
                         if {$ok} {
</pre><pre style='margin:0'>

</pre>