Skip Menu |

This queue is for tickets about the PPM-Make CPAN distribution.

Report information
The Basics
Id: 49717
Status: resolved
Priority: 0/
Queue: PPM-Make

People
Owner: Nobody in particular
Requestors: dolmen [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.96
Fixed in: (no value)



Subject: CPAN dist download failure: Author path duplicated in CPAN fetch URL
Using PPM::Make 0.96 and CPAN 1.9402 When trying to build a PPM for a CPAN distribution and using PPM::Make's download feature, the download URL used in invalid. For POE-Component-Schedule it tries: http://cpan.perl.org/authors/id/D/DO/DOLMEN/D/DO/DOLMEN/POE-Component-Schedule-0.03.tar.gz instead of: http://cpan.perl.org/authors/id/D/DO/DOLMEN/POE-Component-Schedule-0.03.tar.gz Of course the download fails (404). Full log: C:\TEMP>make_ppm POE-Component-Schedule Set up gcc environment - 3.4.5 (mingw-vista special r3) Using Archive::Tar .... Using Compress::Zlib .... Using dmake .... Using C:\Perl\bin\perl.exe .... Working directory: C:\DOCUME~1\omengue\LOCALS~1\Temp CPAN: Storable loaded ok (v2.18) Going to read 'C:\Perl\cpan\Metadata' Database was generated on Sun, 13 Sep 2009 10:27:12 GMT Fetching http://ppm.activestate.com/CPAN/authors/id/D/DO/DOLMEN/D/DO/DOLMEN/POE-Component-Schedule-0.03.tar.gz ... Fetching http://cpan.perl.org/authors/id/D/DO/DOLMEN/D/DO/DOLMEN/POE-Component-Schedule-0.03.tar.gz ... Fetching ftp://ftp.cpan.org/authors/id/D/DO/DOLMEN/D/DO/DOLMEN/POE-Component-Schedule-0.03.tar.gz ... Fetching http://www.cpan.org/authors/id/D/DO/DOLMEN/D/DO/DOLMEN/POE-Component-Schedule-0.03.tar.gz ... Fetch of POE-Component-Schedule-0.03.tar.gz from http://www.cpan.org/authors/id/D/DO/DOLMEN/D/DO/DOLMEN/POE-Component-Schedule-0.03.tar.gz failed at C:/Perl/site/lib/PPM/Make.pm line 82.
Subject: [PATCH] CPAN dist download failure: Author path duplicated in CPAN fetch URL
Here is the fix: in PPM/Make/Utils.pm, sub cpan_file, add the tagged line below: sub cpan_file { my ($cpanid, $file) = @_; #***** return $file if $file =~ m!/!; #***** (my $cpan_loc = $cpanid) =~ s{^(\w)(\w)(.*)}{$1/$1$2/$1$2$3}; return qq{$cpan_loc/$file}; }
Thanks very much; that's been applied to http://github.com/rkobes/ppm-make, which will be released to CPAN soon.