Portfile Sync via a Snapshot Tarball
- Audience: Users who can't use rsync or svn
- Requires: MacPorts 1.7.0 or later
Introduction
Some networks and proxies prevent or break the use of rsync or svn via http. For people on these networks, getting an updated port tree can be difficult. The rsync server regularly creates a tarball and stores it on the web server. This document explains how to configure MacPorts to use this tarball to update your local ports tree.
Configuration
Edit $prefix/etc/macports/sources.conf, comment out the rsync entry, and add a new entry as follows:
#rsync://rsync.macports.org/macports/release/tarballs/ports.tar [default] https://distfiles.macports.org/ports.tar.gz [default]
Sync directly from GitHub
As of MacPorts 2.5.0, it is possible to sync with a tarball directly from GitHub. New commits will be available immediately after they have been pushed. This will always download a tarball containing the complete ports tree, which produces more traffic than SyncingWithGit.
Use the following line in $prefix/etc/macports/sources.conf to use the tarball generated by GitHub:
https://github.com/macports/macports-ports/archive/master/ports.tar.gz [default]
Optional Parts
Test Sync
Run sync in debug mode and watch for the tarball being used instead of rsync:
sudo port -d sync