I think I may have implemented what you're looking for several years
ago for JSAN, which has a client that auto-detected appropriate
mirrors in a few seconds each time it starts.

http://search.cpan.org/~adamk/Mirror-URI-0.90/lib/Mirror/YAML.pm

Or at least, something similar to it.

It autodetects mirrors, can validate them for both speed and
staleness, and doesn't give a crap about where they or you are
physically in the world.

It auto-updates to new master servers, and is resistant to mirror/repo
hijacking, and it can (with a tweak to support an async library) do it
in parallel.

Adam K


On Tue, Feb 8, 2011 at 5:55 PM, brian d foy <brian.d....@gmail.com> wrote:
> I've cloned the cpanpm repo and played with CPAN::Mirrors to make it a
> bit more useful for things outside of CPAN.pm. Most of its use in
> CPAN.pm is to support urllist in CPAN::FirstTime, but I want to use it
> to also update the urllist as I travel, and create other interesting
> applications for it.
>
> I haven't merged anything, but you can look at the firsttime branch:
>
> https://github.com/briandfoy/cpanpm/blob/firsttime/lib/CPAN/Mirrors.pm
>
> I have some other refactorings to do, but I don't want to drop them all
> on you at once.
>
> And, who makes the MIRRORED.BY file? I imagine that's something from a
> script that Jarkko makes, but how does it get the data? I'd like to see
> about exporting it as JSON or something. Also, is it something that
> noc.perl.org has to handle as the master CPAN moves off of FUNET?
>
> --
> brian d foy <brian.d....@gmail.com>
>

Reply via email to