@@ -3285,8 +3285,17 @@ proc mportsync {{options {}}} {
32853285 }
32863286 set include_option " --include=/${filename} --include=/${filename} .rmd160"
32873287 # need to do a few things before replacing the ports tree in this case
3288- set destdir [file dirname $destdir ]
3288+ set extractdir [file dirname $destdir ]
3289+ set destdir [file join $extractdir remote]
3290+ file mkdir $destdir
32893291 set srcstr $rooturl
3292+ set old_tarball_path [file join $extractdir $filename ]
3293+ if {[file isfile $old_tarball_path ]} {
3294+ file rename -force $old_tarball_path $destdir
3295+ }
3296+ set old_PortIndex_path [file join $extractdir PortIndex]
3297+ file delete -force {*}[glob -nocomplain -directory $extractdir [file rootname $filename ]*] \
3298+ ${old_PortIndex_path} ${old_PortIndex_path} .rmd160
32903299 } else {
32913300 # Keep rsync happy with a trailing slash
32923301 if {[string index $source end] ne " /" } {
@@ -3359,9 +3368,9 @@ proc mportsync {{options {}}} {
33593368 set tar [macports::findBinary tar $tar_path ]
33603369 }
33613370 # extract tarball and move into place
3362- file mkdir ${destdir } /tmp
3371+ file mkdir ${extractdir } /tmp
33633372 set zflag [expr {[file extension $tarball ] eq " .gz" ? " z" : " " }]
3364- set tar_cmd " $tar -C ${destdir } /tmp -x${zflag} f $tarball "
3373+ set tar_cmd " $tar -C ${extractdir } /tmp -x${zflag} f $tarball "
33653374 macports_try -pass_signal {
33663375 system $tar_cmd
33673376 } on error {eMessage} {
@@ -3372,14 +3381,14 @@ proc mportsync {{options {}}} {
33723381 # save the local PortIndex data
33733382 if {[file isfile $indexfile ]} {
33743383 file copy -force $indexfile ${destdir} /
3375- file rename -force $indexfile ${destdir } /tmp/ports/
3384+ file rename -force $indexfile ${extractdir } /tmp/ports/
33763385 if {[file isfile ${indexfile} .quick]} {
3377- file rename -force ${indexfile} .quick ${destdir } /tmp/ports/
3386+ file rename -force ${indexfile} .quick ${extractdir } /tmp/ports/
33783387 }
33793388 }
3380- file delete -force ${destdir } /ports
3381- file rename ${destdir } /tmp/ports ${destdir } /ports
3382- file delete -force ${destdir } /tmp
3389+ file delete -force ${extractdir } /ports
3390+ file rename ${extractdir } /tmp/ports ${extractdir } /ports
3391+ file delete -force ${extractdir } /tmp
33833392 # delete any old uncompressed tarball
33843393 if {[file extension $tarball ] eq " .gz" } {
33853394 file delete -force [file rootname $tarball ] [file rootname $tarball ].rmd160
@@ -3423,7 +3432,7 @@ proc mportsync {{options {}}} {
34233432 }
34243433 if {$ok } {
34253434 # move PortIndex into place
3426- file rename -force ${destdir} /PortIndex ${destdir } /ports/
3435+ file rename -force ${destdir} /PortIndex ${extractdir } /ports/
34273436 }
34283437 }
34293438 if {$ok } {
0 commit comments