Reason why default rsync URL was changed to a tarball

Joshua Root jmr at macports.org
Tue Jul 19 17:13:42 PDT 2016


On 2016-7-20 01:09 , Ryan Schmidt wrote:
> sources.conf used to default to:
>
> rsync://rsync.macports.org/release/ports/ [default]
>
> Since r79599 it defaults to:
>
> rsync://rsync.macports.org/release/tarballs/ports.tar [default]
>
> though not all of our documentation was updated to match.
>
> The commit message says "make sync and selfupdate via signed tarballs the default"
>
> Was signing support the only reason for this change? On one of my systems with an evidently slow disk, "sudo port sync" takes several minutes to complete, spent mostly on decompressing the tarball, even, I think, if the tarball is unchanged, whereas using the old rsync URL, "sudo port sync" is very quick since it only has to write the changes to disk and not the entire ports collection each time.

Yes, the easiest way to get signing working was to make a single file 
and sign it. It would be possible to do something like generate a 
manifest filled with checksums for each file in the tree instead, and 
sign that. There are tradeoffs to be considered with that approach, like 
do you verify all the checksums at sync time or defer until each file is 
used?

- Josh


More information about the macports-dev mailing list