X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=moose-class%2Fexercises%2Fupdate-moosepan;h=8831a7403ec569756ef3221b2e72d14b9d00d102;hb=648519ab804c5615378bc31788510ffbef319fe2;hp=46b0dc4c8ab4498989772429dbafefa110d98c11;hpb=79ec5c5eefba9315fbb3ea622f47eb99dbd78ef7;p=gitmo%2Fmoose-presentations.git diff --git a/moose-class/exercises/update-moosepan b/moose-class/exercises/update-moosepan index 46b0dc4..8831a74 100755 --- a/moose-class/exercises/update-moosepan +++ b/moose-class/exercises/update-moosepan @@ -10,15 +10,42 @@ use Module::CoreList; use version; +{ + package CPAN::FindDependencies; + + no warnings 'redefine'; + # The real function assumes that if you provide an argument it's a + # local file, not a URI. + sub _get02packages { + my $file = shift; + + get($file) || + die(__PACKAGE__.": Couldn't fetch 02packages index file\n"); + } +} + + sub main { - my @deps = grep { is_real_dep($_) } finddeps('Moose'); + # If this isn't fetched fresh each time, then CPAN::Mini gets + # confused (maybe it's a timestamp issue because of git?) + unlink './moosepan/modules/02packages.details.txt.gz' + or die $!; + + my @deps + = grep { is_real_dep($_) } + finddeps( 'Moose', + '02packages' => + 'http://mirrors.kernel.org/cpan/modules/02packages.details.txt.gz' + ); my @distros = map { $_->distribution() } @deps; - my $filter_sub = sub { return ! any { $_[0] eq $_ } @distros }; + my $filter_sub = sub { + return !any { $_[0] eq $_ } @distros; + }; CPAN::Mini->update_mirror( - remote => 'ftp://mirrors2.kernel.org/pub/CPAN/', + remote => 'http://mirrors.kernel.org/cpan/', local => './moosepan', path_filters => $filter_sub, trace => 1,