MacPorts caching of distfiles [was Re: ntfs-3g 1.1120 source missing]
Jordan K. Hubbard
jkh at apple.com
Fri Feb 22 21:00:59 PST 2008
On Feb 22, 2008, at 7:11 PM, Rainer Müller wrote:
> One of these things would be how we would push files on the mirror?
> If we keep master_sites we could use something like `port fetch all'
> in a cronjob or in a post-commit hook. But that will have the
> problem that it currently port fetch will not remove old distfiles.
> So this would need improvement.
> Alternatively committers would have to upload there files manually
> which would be more work for them and also more error-prone.
1. I think doing a "port fetch all" is just fine - it will skip the
fetch step for ports which already have their distfiles in place (we
can even add a little extra logic to stick them somewhere other than
in ${prefix}/var/macports/distfiles for the mirroring case) and
doesn't involve a lot of extra work on our part. The only thing we'll
need to make sure of is that our timeout logic is genuinely robust
since we don't want a single hanging fetch to scrog the entire mirror
run, ditto for our failed fetch logic - we don't want partial
distfiles to get left lying around, but both of those are things we
should have working well anyway.
2. I see no need to delete stale distfiles. People will have older
versions of the ports (not everyone keeps macports constantly up to
date) and we still need to cache old distfiles for old ports (it's
also useful for checking older versions of a port out of svn and still
being able to use them, say if a new version has completely failed to
work in an unexpected way). We have the disk space - there's no
pressing need to garbage collect the distfiles with any urgency.
- Jordan
More information about the macports-dev
mailing list