From 83d041e15bde46ded1a8f6ae016c1d5302121998 Mon Sep 17 00:00:00 2001 From: Chris 'BinGOs' Williams Date: Thu, 22 Aug 2013 14:15:11 +0100 Subject: [PATCH] Create audit tool to validate the tarball links Cleaned up links removing some RC links that are no longer valid --- lib/CPAN/Perl/Releases.pm | 63 ----------------------------- t/02-refactor.t | 85 --------------------------------------- tools/auditlinks.pl | 21 ++++++++++ 3 files changed, 21 insertions(+), 148 deletions(-) create mode 100644 tools/auditlinks.pl diff --git a/lib/CPAN/Perl/Releases.pm b/lib/CPAN/Perl/Releases.pm index 4ab737e..cbb008a 100644 --- a/lib/CPAN/Perl/Releases.pm +++ b/lib/CPAN/Perl/Releases.pm @@ -55,12 +55,6 @@ our $data = "5.10.0" => { id => 'RGARCIA', }, - "5.10.0-RC1" => { - id => 'RGARCIA', - }, - "5.10.0-RC2" => { - id => 'RGARCIA', - }, "5.10.1" => { id => 'DAPM', }, @@ -88,36 +82,15 @@ our $data = "5.12.1" => { id => 'JESSE', }, - "5.12.1-RC1" => { - id => 'JESSE', - }, - "5.12.1-RC2" => { - id => 'JESSE', - }, "5.12.2" => { id => 'JESSE', }, - "5.12.2-RC1" => { - id => 'JESSE', - }, "5.12.3" => { id => 'RJBS', }, - "5.12.4-RC1" => { - id => 'LBROCARD', - }, - "5.12.4-RC2" => { - id => 'LBROCARD', - }, "5.12.4" => { id => 'LBROCARD', }, - "5.12.5-RC1" => { - id => 'DOM', - }, - "5.12.5-RC2" => { - id => 'DOM', - }, "5.12.5" => { id => 'DOM', }, @@ -160,18 +133,6 @@ our $data = "5.14.0" => { id => 'JESSE', }, - "5.14.0-RC1" => { - id => 'JESSE', - }, - "5.14.0-RC2" => { - id => 'JESSE', - }, - "5.14.0-RC3" => { - id => 'JESSE', - }, - "5.14.1-RC1" => { - id => 'JESSE', - }, "5.14.1" => { id => 'JESSE', }, @@ -181,12 +142,6 @@ our $data = "5.14.2" => { id => 'FLORA', }, - "5.14.3-RC1" => { - id => 'DOM', - }, - "5.14.3-RC2" => { - id => 'DOM', - }, "5.14.3" => { id => 'DOM', }, @@ -229,33 +184,15 @@ our $data = "5.15.9" => { id => 'ABIGAIL', }, - "5.16.0-RC0" => { - id => 'RJBS', - }, - "5.16.0-RC1" => { - id => 'RJBS', - }, - "5.16.0-RC2" => { - id => 'RJBS', - }, "5.16.0" => { id => 'RJBS', }, - "5.16.1-RC1" => { - id => 'RJBS', - }, "5.16.1" => { id => 'RJBS', }, - "5.16.2-RC1" => { - id => 'RJBS', - }, "5.16.2" => { id => 'RJBS', }, - "5.16.3-RC1" => { - id => 'RJBS', - }, "5.16.3" => { id => 'RJBS', }, diff --git a/t/02-refactor.t b/t/02-refactor.t index aedc582..536dcc6 100644 --- a/t/02-refactor.t +++ b/t/02-refactor.t @@ -44,12 +44,6 @@ my $stuff = "5.10.0" => { "tar.gz" => "R/RG/RGARCIA/perl-5.10.0.tar.gz", }, - "5.10.0-RC1" => { - "tar.gz" => "R/RG/RGARCIA/perl-5.10.0-RC1.tar.gz", - }, - "5.10.0-RC2" => { - "tar.gz" => "R/RG/RGARCIA/perl-5.10.0-RC2.tar.gz", - }, "5.10.1" => { "tar.bz2" => "D/DA/DAPM/perl-5.10.1.tar.bz2", "tar.gz" => "D/DA/DAPM/perl-5.10.1.tar.gz", @@ -86,46 +80,18 @@ my $stuff = "tar.bz2" => "J/JE/JESSE/perl-5.12.1.tar.bz2", "tar.gz" => "J/JE/JESSE/perl-5.12.1.tar.gz", }, - "5.12.1-RC1" => { - "tar.bz2" => "J/JE/JESSE/perl-5.12.1-RC1.tar.bz2", - "tar.gz" => "J/JE/JESSE/perl-5.12.1-RC1.tar.gz", - }, - "5.12.1-RC2" => { - "tar.bz2" => "J/JE/JESSE/perl-5.12.1-RC2.tar.bz2", - "tar.gz" => "J/JE/JESSE/perl-5.12.1-RC2.tar.gz", - }, "5.12.2" => { "tar.bz2" => "J/JE/JESSE/perl-5.12.2.tar.bz2", "tar.gz" => "J/JE/JESSE/perl-5.12.2.tar.gz", }, - "5.12.2-RC1" => { - "tar.bz2" => "J/JE/JESSE/perl-5.12.2-RC1.tar.bz2", - "tar.gz" => "J/JE/JESSE/perl-5.12.2-RC1.tar.gz", - }, "5.12.3" => { "tar.bz2" => "R/RJ/RJBS/perl-5.12.3.tar.bz2", "tar.gz" => "R/RJ/RJBS/perl-5.12.3.tar.gz", }, - "5.12.4-RC1" => { - "tar.bz2" => "L/LB/LBROCARD/perl-5.12.4-RC1.tar.bz2", - "tar.gz" => "L/LB/LBROCARD/perl-5.12.4-RC1.tar.gz", - }, - "5.12.4-RC2" => { - "tar.bz2" => "L/LB/LBROCARD/perl-5.12.4-RC2.tar.bz2", - "tar.gz" => "L/LB/LBROCARD/perl-5.12.4-RC2.tar.gz", - }, "5.12.4" => { "tar.bz2" => "L/LB/LBROCARD/perl-5.12.4.tar.bz2", "tar.gz" => "L/LB/LBROCARD/perl-5.12.4.tar.gz", }, - "5.12.5-RC1" => { - "tar.bz2" => "D/DO/DOM/perl-5.12.5-RC1.tar.bz2", - "tar.gz" => "D/DO/DOM/perl-5.12.5-RC1.tar.gz", - }, - "5.12.5-RC2" => { - "tar.bz2" => "D/DO/DOM/perl-5.12.5-RC2.tar.bz2", - "tar.gz" => "D/DO/DOM/perl-5.12.5-RC2.tar.gz", - }, "5.12.5" => { "tar.bz2" => "D/DO/DOM/perl-5.12.5.tar.bz2", "tar.gz" => "D/DO/DOM/perl-5.12.5.tar.gz", @@ -182,42 +148,14 @@ my $stuff = "tar.bz2" => "J/JE/JESSE/perl-5.14.0.tar.bz2", "tar.gz" => "J/JE/JESSE/perl-5.14.0.tar.gz", }, - "5.14.0-RC1" => { - "tar.bz2" => "J/JE/JESSE/perl-5.14.0-RC1.tar.bz2", - "tar.gz" => "J/JE/JESSE/perl-5.14.0-RC1.tar.gz", - }, - "5.14.0-RC2" => { - "tar.bz2" => "J/JE/JESSE/perl-5.14.0-RC2.tar.bz2", - "tar.gz" => "J/JE/JESSE/perl-5.14.0-RC2.tar.gz", - }, - "5.14.0-RC3" => { - "tar.bz2" => "J/JE/JESSE/perl-5.14.0-RC3.tar.bz2", - "tar.gz" => "J/JE/JESSE/perl-5.14.0-RC3.tar.gz", - }, - "5.14.1-RC1" => { - "tar.bz2" => "J/JE/JESSE/perl-5.14.1-RC1.tar.bz2", - "tar.gz" => "J/JE/JESSE/perl-5.14.1-RC1.tar.gz", - }, "5.14.1" => { "tar.bz2" => "J/JE/JESSE/perl-5.14.1.tar.bz2", "tar.gz" => "J/JE/JESSE/perl-5.14.1.tar.gz", }, - "5.14.2-RC1" => { - "tar.bz2" => "F/FL/FLORA/perl-5.14.2-RC1.tar.bz2", - "tar.gz" => "F/FL/FLORA/perl-5.14.2-RC1.tar.gz", - }, "5.14.2" => { "tar.bz2" => "F/FL/FLORA/perl-5.14.2.tar.bz2", "tar.gz" => "F/FL/FLORA/perl-5.14.2.tar.gz", }, - "5.14.3-RC1" => { - "tar.bz2" => "D/DO/DOM/perl-5.14.3-RC1.tar.bz2", - "tar.gz" => "D/DO/DOM/perl-5.14.3-RC1.tar.gz", - }, - "5.14.3-RC2" => { - "tar.bz2" => "D/DO/DOM/perl-5.14.3-RC2.tar.bz2", - "tar.gz" => "D/DO/DOM/perl-5.14.3-RC2.tar.gz", - }, "5.14.3" => { "tar.bz2" => "D/DO/DOM/perl-5.14.3.tar.bz2", "tar.gz" => "D/DO/DOM/perl-5.14.3.tar.gz", @@ -274,41 +212,18 @@ my $stuff = "tar.bz2" => "A/AB/ABIGAIL/perl-5.15.9.tar.bz2", "tar.gz" => "A/AB/ABIGAIL/perl-5.15.9.tar.gz", }, - "5.16.0-RC0" => { - "tar.gz" => "R/RJ/RJBS/perl-5.16.0-RC0.tar.gz", - }, - "5.16.0-RC1" => { - "tar.bz2" => "R/RJ/RJBS/perl-5.16.0-RC1.tar.bz2", - "tar.gz" => "R/RJ/RJBS/perl-5.16.0-RC1.tar.gz", - }, - "5.16.0-RC2" => { - "tar.bz2" => "R/RJ/RJBS/perl-5.16.0-RC2.tar.bz2", - "tar.gz" => "R/RJ/RJBS/perl-5.16.0-RC2.tar.gz", - }, "5.16.0" => { "tar.bz2" => "R/RJ/RJBS/perl-5.16.0.tar.bz2", "tar.gz" => "R/RJ/RJBS/perl-5.16.0.tar.gz", }, - "5.16.1-RC1" => { - "tar.bz2" => "R/RJ/RJBS/perl-5.16.1-RC1.tar.bz2", - "tar.gz" => "R/RJ/RJBS/perl-5.16.1-RC1.tar.gz", - }, "5.16.1" => { "tar.bz2" => "R/RJ/RJBS/perl-5.16.1.tar.bz2", "tar.gz" => "R/RJ/RJBS/perl-5.16.1.tar.gz", }, - "5.16.2-RC1" => { - "tar.bz2" => "R/RJ/RJBS/perl-5.16.2-RC1.tar.bz2", - "tar.gz" => "R/RJ/RJBS/perl-5.16.2-RC1.tar.gz", - }, "5.16.2" => { "tar.bz2" => "R/RJ/RJBS/perl-5.16.2.tar.bz2", "tar.gz" => "R/RJ/RJBS/perl-5.16.2.tar.gz", }, - "5.16.3-RC1" => { - "tar.bz2" => "R/RJ/RJBS/perl-5.16.3-RC1.tar.bz2", - "tar.gz" => "R/RJ/RJBS/perl-5.16.3-RC1.tar.gz", - }, "5.16.3" => { "tar.bz2" => "R/RJ/RJBS/perl-5.16.3.tar.bz2", "tar.gz" => "R/RJ/RJBS/perl-5.16.3.tar.gz", diff --git a/tools/auditlinks.pl b/tools/auditlinks.pl new file mode 100644 index 0000000..c3db410 --- /dev/null +++ b/tools/auditlinks.pl @@ -0,0 +1,21 @@ +use strict; +use warnings; +use Test::More qw[no_plan]; +use CPAN::Perl::Releases qw[perl_tarballs perl_versions]; +use HTTP::Tiny; + +my $baseurl = 'http://cpan.mirror.local/CPAN/authors/id/'; + +foreach my $vers ( perl_versions() ) { + my $balls = perl_tarballs( $vers ); + foreach my $tarball ( keys %$balls ) { + my $url = $baseurl . $balls->{$tarball}; + my $resp = HTTP::Tiny->new( )->get( $url ); + unless ( $resp->{success} ) { + fail( "$vers -> $tarball -> $url" ); + } + else { + pass( "$vers -> $tarball -> $url" ); + } + } +}