How distfiles mirrors know to fetch new files

Ryan Schmidt ryandesign at macports.org
Fri Feb 20 23:50:45 PST 2009


Dear admins of the European MacPorts distfiles mirrors,

It appears that the files on the mirrors are going stale, that is,  
files for newly-added or updated ports are not appearing on your  
mirrors. Do you have any mechanism in place to periodically update  
your mirrors? William Siegrist suggests that you should poll for  
changes or just run "port mirror all" from time to time.

The California mirror is kept up to date via a post-commit script  
that runs as soon as anything is committed to the repository. I  
imagine this is possible because the repository server and the mirror  
server are near one another, but perhaps there would be a more  
general way to have the repository server ping all the mirrors to  
tell them it's time to re-fetch a given port, for example by simply  
accessing a URL like

http://<mirror>/refetch.php/<port>

refetch.php could be written to only accept connections from the  
repository server to prevent abuse.


On Feb 10, 2009, at 20:07, William Siegrist wrote:

> On Feb 10, 2009, at 4:58 PM, Ryan Schmidt wrote:
>
>> We have three distfiles mirrors, in the US, Norway and Sweden:
>>
>> US: http://distfiles.macports.org/
>> NO: http://trd.no.distfiles.macports.org/
>> SE: http://arn.se.distfiles.macports.org/
>>
>> In /graphviz the US mirror has distfiles up to the current port  
>> version, graphviz-2.21.20090209.0545.tar.gz.
>>
>> But Sweden only has files up to graphviz-2.21.20090106.0545.tar.gz.
>>
>> Norway only has files up to graphviz-2.21.20081216.0545.tar.gz.
>>
>> I believe the US mirror, which runs right next to the Subversion  
>> repository, gets updated in a post-commit hook, so as soon as  
>> someone commits a new version of a port, the mirror fetches the  
>> new file.
>>
>> How do Norway and Sweden get informed that they should fetch new  
>> files? I fear they're not getting informed at all.
>
> You might want to CC the mirror owners, but in any case, they have  
> to poll for changes (via RSS, mailing list, whatever) or just  
> perform full "port mirror <port>" runs periodically.




More information about the macports-dev mailing list