Skip Menu |

This queue is for tickets about the CPANPLUS CPAN distribution.

Report information
The Basics
Id: 34692
Status: resolved
Priority: 0/
Queue: CPANPLUS

People
Owner: Nobody in particular
Requestors: imacat [...] mail.imacat.idv.tw
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.84
Fixed in: (no value)



Subject: Wrong CPANPLUS::Backend::parse_module() result with GRICHTER/HTML-Embperl-1.2.1.tar.gz
Dear Jos Boumans, Hi. This is imacat from Taiwan. I found that the parse_module() method of CPANPLUS-0.84 returns a wrong module with GRICHTER/HTML-Embperl-1.2.1.tar.gz. imacat@rinse ~ % /opt/perl/testers/5.8.8/bin/perl -mCPANPLUS::Backend -e'@_ = CPANPLUS::Backend->new->parse_module("module" => "GRICHTER/HTML-Embperl-1.2.1.tar.gz"); print $_[0]->package;'; echo [MSG] Checking if source files are up to date [MSG] Retrieving /home/imacat/.cpanplus/sourcefiles.2.18.stored Embperl-1.2.1.tar.gz imacat@rinse ~ % As the above shows, it returns Embperl-1.2.1.tar.gz, but not HTML-Embperl-1.2.1.tar.gz. As a result, CPANPLUS fails download when trying to test or install GRICHTER/HTML-Embperl-1.2.1.tar.gz, creating dummy Makefile.PL in the current working directory of the user, and doing non-sense make and install there. Hope that this helps. Please tell me if you need any more information, or if I could be of any help. Thank you.
On Sat Apr 05 01:36:12 2008, IMACAT wrote: Show quoted text
> Dear Jos Boumans, > > Hi. This is imacat from Taiwan. I found that the parse_module() > method of CPANPLUS-0.84 returns a wrong module with > GRICHTER/HTML-Embperl-1.2.1.tar.gz. > > imacat@rinse ~ % /opt/perl/testers/5.8.8/bin/perl -mCPANPLUS::Backend > -e'@_ = CPANPLUS::Backend->new->parse_module("module" => > "GRICHTER/HTML-Embperl-1.2.1.tar.gz"); print $_[0]->package;'; echo > [MSG] Checking if source files are up to date > [MSG] Retrieving /home/imacat/.cpanplus/sourcefiles.2.18.stored > Embperl-1.2.1.tar.gz > imacat@rinse ~ %
This is actually correct. If you look at the file that's been uploaded to CPAN, it's indeed Embperl-*.tar.gz: CPAN Terminal> l HTML::Embperl [MSG] Checking if source files are up to date [MSG] Retrieving /Users/kane/.cpanplus/sourcefiles.2.16.stored [MSG] Adding packages from custom source 'file:///tmp' Details for 'HTML::Embperl' Author Gerald Richter (richter@ecos.de) Description Build dynamic Websites (e.g. embed Perl) Development Stage Released Interface Style plain Functions, no references used Language Used C and perl, a C compiler will be needed Package Embperl-2.3.0.tar.gz Public License Standard-Perl: user may choose between GPL and Artistic Support Level Mailing-list Version on CPAN 2.003000 Contains: Apache::Embperl Embperl The Embperl package happens to contain HTML::Embperl as well, which may not be quite standard, but it is the way it is. Show quoted text
> As the above shows, it returns Embperl-1.2.1.tar.gz, but not > HTML-Embperl-1.2.1.tar.gz. As a result, CPANPLUS fails download when > trying to test or install GRICHTER/HTML-Embperl-1.2.1.tar.gz, creating > dummy Makefile.PL in the current working directory of the user, and > doing non-sense make and install there.
When trying this on my machine, when asked to fetch HTML::Embperl, it downloads the proper Embperl-*.tar.gz file, so i can not reproduce this. Show quoted text
> Hope that this helps. Please tell me if you need any more > information, or if I could be of any help. Thank you.
If you have a way to reproduce this error, please let me know.
On 2008-04-06 06:17:28 Sun, KANE wrote: Show quoted text
> On Sat Apr 05 01:36:12 2008, IMACAT wrote: > If you have a way to reproduce this error, please let me know.
Thank you for your reply. HTML::Embperl is http://search.cpan.org/dist/HTML-Embperl/ where Embperl is http://search.cpan.org/dist/Embperl/ Maybe they are a same distribution which has changed its distribution name. However, when I specify I want to download G/GR/GRICHTER/HTML-Embperl-1.3.6.tar.gz with CPANPLUS, it tries to download G/GR/GRICHTER/Embperl-1.3.6.tar.gz instead, which does not exists at all. (Of course, the final "Successfully fetched" message is another problem here. It did not succeed.) imacat@rinse ~ % /opt/perl/testers/5.8.8/bin/cpanp -d G/GR/GRICHTER/HTML-Embperl-1.3.6.tar.gz [MSG] Checking if source files are up to date [MSG] Retrieving /home/imacat/.cpanplus/sourcefiles.2.18.stored [MSG] Trying to get 'ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/authors/id/G/GR/GRICHTER/Embperl-1.3.6.tar.gz' Fetch failed! HTTP response: 404 Not Found [404 File 'Embperl-1.3.6.tar.gz' not found] at /opt/perl/testers/5.8.8/lib/site_perl/5.8.8/CPANPLUS/Internals/Fetch.pm line 362 Could not fetch '/Unix/Lang/CPAN/authors/id/G/GR/GRICHTER/Embperl-1.3.6.tar.gz' from 'cpan.cdpa.nsysu.edu.tw' at /opt/perl/testers/5.8.8/lib/site_perl/5.8.8/CPANPLUS/Internals/Fetch.pm line 362 Command failed: at /opt/perl/testers/5.8.8/lib/site_perl/5.8.8/CPANPLUS/Internals/Fetch.pm line 362 [ERROR] Fetching of 'ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/authors/id/G/GR/GRICHTER/Embperl-1.3.6.tar.gz' failed: Command failed: [MSG] Trying to get 'http://cpan.cdpa.nsysu.edu.tw/authors/id/G/GR/GRICHTER/Embperl-1.3.6.tar.gz' Fetch failed! HTTP response: 404 Not Found [404 Not Found] at /opt/perl/testers/5.8.8/lib/site_perl/5.8.8/CPANPLUS/Internals/Fetch.pm line 362 Command failed: at /opt/perl/testers/5.8.8/lib/site_perl/5.8.8/CPANPLUS/Internals/Fetch.pm line 362 [MSG] Trying to get 'ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/authors/id/G/GR/GRICHTER/CHECKSUMS' [MSG] Archive size is not known for 'Embperl-1.3.6.tar.gz' [MSG] No 'md5' checksum known for 'Embperl-1.3.6.tar.gz' Successfully fetched 'HTML::Embperl' to '/home/imacat/.cpanplus/authors/id/G/GR/GRICHTER/Embperl-1.3.6.tar.gz' imacat@rinse ~ %
Subject: Re: [rt.cpan.org #34692] Wrong CPANPLUS::Backend::parse_module() result with GRICHTER/HTML-Embperl-1.2.1.tar.gz
Date: Sun, 6 Apr 2008 13:54:40 +0200
To: bug-CPANPLUS [...] rt.cpan.org
From: "Jos I. Boumans" <kane [...] xs4all.nl>
On Apr 6, 2008, at 1:09 PM, Yi Ma Mao via RT wrote: Show quoted text
> > Queue: CPANPLUS > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=34692 > > > On 2008-04-06 06:17:28 Sun, KANE wrote:
>> On Sat Apr 05 01:36:12 2008, IMACAT wrote: >> If you have a way to reproduce this error, please let me know.
> > Thank you for your reply. HTML::Embperl is > > http://search.cpan.org/dist/HTML-Embperl/ > > where Embperl is > > http://search.cpan.org/dist/Embperl/
This is where the information differs. we base everything on the 02packages file from the CPAN mirror, and that says: HTML::Embperl 2.003000 G/GR/GRICHTER/ Embperl-2.3.0.tar.gz And that's why you get this result, plain and simple. If that's in error, we should report this eitehr to the pause indexer, or to the author. Show quoted text
>
-- Jos Boumans "Never ask a man what computer he uses. If it's a Mac, he'll tell you. If it's not, why embarrass him?" - Tom Clancy CPANPLUS http://cpanplus.sf.net
On 2008-04-06 07:56:42 Sun, kane@xs4all.nl wrote: Show quoted text
> On Apr 6, 2008, at 1:09 PM, Yi Ma Mao via RT wrote:
> > Thank you for your reply. HTML::Embperl is > > http://search.cpan.org/dist/HTML-Embperl/ > > where Embperl is > > http://search.cpan.org/dist/Embperl/
> This is where the information differs. we base everything on the > 02packages > file from the CPAN mirror, and that says: > HTML::Embperl 2.003000 G/GR/GRICHTER/ > Embperl-2.3.0.tar.gz
Hmm... So CPANPLUS discards the user-specified full distribution path, decomposes it into scratches, and recomposes it with internal distribution path rules? That does not make sense. I thought user-specified distribution path should be respected first, and recomposition should only happen when the user specifies a module name (or something looks like a module name). Though I understand it now.
On Mon Apr 07 02:40:13 2008, IMACAT wrote: Show quoted text
> On 2008-04-06 07:56:42 Sun, kane@xs4all.nl wrote:
> > On Apr 6, 2008, at 1:09 PM, Yi Ma Mao via RT wrote:
> > > Thank you for your reply. HTML::Embperl is > > > http://search.cpan.org/dist/HTML-Embperl/ > > > where Embperl is > > > http://search.cpan.org/dist/Embperl/
> > This is where the information differs. we base everything on the > > 02packages > > file from the CPAN mirror, and that says: > > HTML::Embperl 2.003000 G/GR/GRICHTER/ > > Embperl-2.3.0.tar.gz
> > Hmm... So CPANPLUS discards the user-specified full distribution > path, decomposes it into scratches, and recomposes it with internal > distribution path rules? That does not make sense. I thought > user-specified distribution path should be respected first, and > recomposition should only happen when the user specifies a module name > (or something looks like a module name). Though I understand it now.
WIth this directive, the point is to find the module *from cpan* that matches your criteria. To do that, we need to look at the meta data provided. If you want to go completely outside that, provide a full path to the archive you want installed, ie: http://foo.com/GRICHTER/HTML-Embperl-1.2.1.tar.gz And no logic will be applied.