<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/1e6539d9d656867f4ae2ef55e3b32ebeb389f4cb">https://github.com/macports/macports-base/commit/1e6539d9d656867f4ae2ef55e3b32ebeb389f4cb</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 1e6539d9d Reduce number of rsync connections
</span>1e6539d9d is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 1e6539d9d656867f4ae2ef55e3b32ebeb389f4cb
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon Sep 26 13:32:01 2022 +1000
<span style='display:block; white-space:pre;color:#404040;'> Reduce number of rsync connections
</span>---
src/macports1.0/macports.tcl | 8 ++++----
src/macports1.0/selfupdate.tcl | 18 ++++++++++--------
2 files changed, 14 insertions(+), 12 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 ac2ec6569..42f1d5682 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;'>@@ -2909,14 +2909,16 @@ proc mportsync {{optionslist {}}} {
</span> # now sync the index if the local file is missing or older than a day
if {![file isfile $indexfile] || [clock seconds] - [file mtime $indexfile] > 86400
|| [info exists options(no_reindex)]} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set include_option "--include=/PortIndex --exclude=*"
</span> if {$is_tarball} {
# chop ports.tar off the end
set index_source [string range $source 0 end-[string length [file tail $source]]]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set include_option "--include=/PortIndex.rmd160 ${include_option}"
</span> } else {
set index_source $source
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set remote_indexfile "${index_source}PortIndex_${macports::os_platform}_${macports::os_major}_${macports::os_arch}/PortIndex"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set rsync_commandline "$macports::autoconf::rsync_path $rsync_options $remote_indexfile $destdir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set remote_indexdir "${index_source}PortIndex_${macports::os_platform}_${macports::os_major}_${macports::os_arch}/"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set rsync_commandline "$macports::autoconf::rsync_path $rsync_options $include_option $remote_indexdir $destdir"
</span> macports_try -pass_signal {
system $rsync_commandline
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2926,8 +2928,6 @@ proc mportsync {{optionslist {}}} {
</span> set ok 0
set needs_portindex true
# verify signature for PortIndex
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set rsync_commandline "$macports::autoconf::rsync_path $rsync_options ${remote_indexfile}.rmd160 $destdir"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system $rsync_commandline
</span> foreach pubkey $macports::archivefetch_pubkeys {
macports_try -pass_signal {
exec $openssl dgst -ripemd160 -verify $pubkey -signature ${destdir}/PortIndex.rmd160 ${destdir}/PortIndex
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/selfupdate.tcl b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 979c02966..74ac8db70 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,16 +49,23 @@ proc selfupdate::main {{optionslist {}} {updatestatusvar {}}} {
</span> set updatestatus no
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set rsync_url rsync://${rsync_server}/
</span> # are we syncing a tarball? (implies detached signature)
set is_tarball 0
if {[string range $rsync_dir end-3 end] eq ".tar"} {
set is_tarball 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mp_source_path [file join $portdbpath sources $rsync_server [file dirname $rsync_dir]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set tarballs_dir [file dirname $rsync_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ append rsync_url ${tarballs_dir}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mp_source_path [file join $portdbpath sources $rsync_server $tarballs_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set tarfile [file tail $rsync_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set include_options " --include=[macports::shellescape /${tarfile}] --include=[macports::shellescape /${tarfile}.rmd160] --exclude=*"
</span> } else {
if {[string index $rsync_dir end] ne "/"} {
append rsync_dir /
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ append rsync_url $rsync_dir
</span> set mp_source_path [file join $portdbpath sources $rsync_server $rsync_dir]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set include_options ""
</span> }
# create the path to the to be downloaded sources if it doesn't exist
if {![file exists $mp_source_path]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +76,7 @@ proc selfupdate::main {{optionslist {}} {updatestatusvar {}}} {
</span> # sync the MacPorts sources
ui_msg "$macports::ui_prefix Updating MacPorts base sources using rsync"
macports_try -pass_signal {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- system "$rsync_path $rsync_options [macports::shellescape rsync://${rsync_server}/$rsync_dir] [macports::shellescape $mp_source_path]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "$rsync_path ${rsync_options}${include_options} [macports::shellescape $rsync_url] [macports::shellescape $mp_source_path]"
</span> } on error {eMessage} {
error "Error synchronizing MacPorts sources: $eMessage"
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,13 +84,8 @@ proc selfupdate::main {{optionslist {}} {updatestatusvar {}}} {
</span> if {$is_tarball} {
# verify signature for tarball
global macports::archivefetch_pubkeys
<span style='display:block; white-space:pre;background:#ffe0e0;'>- macports_try -pass_signal {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "$rsync_path $rsync_options [macports::shellescape rsync://${rsync_server}/${rsync_dir}.rmd160] [macports::shellescape $mp_source_path]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } on error {eMessage} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- error "Error synchronizing MacPorts source signature: $eMessage"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> set openssl [macports::findBinary openssl $macports::autoconf::openssl_path]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set tarball ${mp_source_path}/[file tail $rsync_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set tarball ${mp_source_path}/${tarfile}
</span> set signature ${tarball}.rmd160
set verified 0
foreach pubkey $macports::archivefetch_pubkeys {
</pre><pre style='margin:0'>
</pre>