Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 44549
Status: open
Priority: 0/
Queue: CPAN

People
Owner: Nobody in particular
Requestors: nick [...] ccl4.org
Cc:
AdminCc:

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



Subject: CPAN doesn't bootstrap cleanly from zero.
This is a completely clean install of blead on an account that doesn't have a ~/.cpan: $ cpan5.11.0 CPAN is the world-wide archive of perl resources. It consists of about 300 sites that all replicate the same contents around the globe. Many countries have at least one CPAN site already. The resources found on CPAN are easily accessible with the CPAN.pm module. If you want to use CPAN.pm, lots of things have to be configured. Fortunately, most of them can be determined automatically. If you prefer the automatic configuration, answer 'yes' below. If you prefer to enter a dialog instead, you can answer 'no' to this question and I'll let you configure in small steps one thing after the other. (Note: you can revisit this dialog anytime later by typing 'o conf init' at the cpan prompt.) Would you like me to configure as much as possible automatically? [yes] yes ... <connect_to_internet_ok> If no urllist has been chosen yet, would you prefer CPAN.pm to connect to the built-in default sites without asking? (yes/no)? [no] Autoconfigured everything but 'urllist'. Please call 'o conf init urllist' to configure your CPAN server(s) now! commit: wrote '/home/netbanx/Sandpit/snap5.9.x-/lib/perl5/5.11.0/CPAN/Config.pm' Terminal does not support AddHistory. cpan shell -- CPAN exploration and modules installation (v1.9351) ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?) cpan[1]> install Devel::Cover CPAN: Storable loaded ok (v2.19) You have not configured a urllist and did not allow to connect to the internet. I will continue but it is very likely that we will face problems. If this happens, please consider to call either o conf init connect_to_internet_ok or o conf init urllist Sleeping 5 seconds now. You have not configured a urllist and did not allow to connect to the internet. I will continue but it is very likely that we will face problems. If this happens, please consider to call either o conf init connect_to_internet_ok or o conf init urllist Sleeping 5 seconds now. Caught SIGINT, trying to continue Warning: Cannot install Devel::Cover, don't know what it is. Try the command i /Devel::Cover/ to find objects with matching identifiers. Got another SIGINT I don't consider that that's a good result. What I think that it should do at that point is 1: Not "Sleep for 5 seconds then repeat the error, ad nauseum" 2: Something like, go interactive, and ask "can I connect to the internet?" and then "should I save this configuration change?" The current behaviour is less than ideal. I have to hit control C, copy-paste 2 commands that *it already told me about* And, heck, *they are wrong*, because I *did what it said*: cpan[3]> o conf init connect_to_internet_ok If you have never defined your own C<urllist> in your configuration then C<CPAN.pm> will be hesitant to use the built in default sites for downloading. It will ask you once per session if a connection to the internet is OK and only if you say yes, it will try to connect. But to avoid this question, you can choose your favorite download sites once and get away with it. Or, if you have no favorite download sites answer yes to the following question. <connect_to_internet_ok> If no urllist has been chosen yet, would you prefer CPAN.pm to connect to the built-in default sites without asking? (yes/no)? [no] yes Please remember to call 'o conf commit' to make the config permanent! cpan[4]> o conf commit commit: wrote '/home/netbanx/Sandpit/snap5.9.x-/lib/perl5/5.11.0/CPAN/Config.pm' cpan[5]> install Devel::Cover You have not configured a urllist and did not allow to connect to the internet. I will continue but it is very likely that we will face problems. If this happens, please consider to call either o conf init connect_to_internet_ok or o conf init urllist Sleeping 5 seconds now. Caught SIGINT, trying to continue Warning: Cannot install Devel::Cover, don't know what it is. Try the command i /Devel::Cover/ to find objects with matching identifiers. Got another SIGINT [because, it seems, I have to quit and restart the CPAN shell for all that to work] I consider this an important bug because it leaves a bad first impression on the new user.
Actually, it's even slightly dafter than that. The end of the autoconfiguration explicitly says "Please call 'o conf init urllist' to configure your CPAN server(s) now!", yet when I do *exactly that* I hit the 5 second sleep loop: <connect_to_internet_ok> If no urllist has been chosen yet, would you prefer CPAN.pm to connect to the built-in default sites without asking? (yes/no)? [no] Autoconfigured everything but 'urllist'. Please call 'o conf init urllist' to configure your CPAN server(s) now! commit: wrote '/Users/nick/Sandpit/snap5.9.x-GitLive-blead-892-gae2e8cc/lib/perl5/5.11.0/CPAN/Config.pm' Terminal does not support AddHistory. cpan shell -- CPAN exploration and modules installation (v1.9351) ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?) cpan[1]> o conf init urllist You have no /Users/nick/.cpan/sources/MIRRORED.BY I'm trying to fetch one You have not configured a urllist and did not allow to connect to the internet. I will continue but it is very likely that we will face problems. If this happens, please consider to call either o conf init connect_to_internet_ok or o conf init urllist Sleeping 5 seconds now. You have not configured a urllist and did not allow to connect to the internet. I will continue but it is very likely that we will face problems. If this happens, please consider to call either o conf init connect_to_internet_ok or o conf init urllist Sleeping 5 seconds now.
Subject: Re: [rt.cpan.org #44549] CPAN doesn't bootstrap cleanly from zero.
Date: Sun, 05 Apr 2009 17:18:59 +0200
To: bug-CPAN [...] rt.cpan.org
From: andreas.koenig.7os6VVqR [...] franz.ak.mind.de (Andreas J. Koenig)
Show quoted text
>>>>> On Sun, 05 Apr 2009 05:24:34 -0400, "Nicholas Clark via RT" <bug-CPAN@rt.cpan.org> said:
Show quoted text
> Queue: CPAN > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=44549 >
Show quoted text
> Actually, it's even slightly dafter than that.
Thanks Nicholas, I'm on it but have no clean solution yet. Too many code paths assume that we have a populated database. But the user wants to have a chance to configure a setup that works without internet access. Definitely possible but tricky to identify the places that need to change. -- andreas
Please torture 1.93_52 (patch to blead has also been submitted)
Seems to be fixed, closing ticket. Thanks!
Subject: Re: [rt.cpan.org #44549] CPAN doesn't bootstrap cleanly from zero.
Date: Fri, 22 May 2009 10:20:30 +0100
To: Andreas Koenig via RT <bug-CPAN [...] rt.cpan.org>
From: Nicholas Clark <nick [...] ccl4.org>
On Fri, May 01, 2009 at 12:08:56PM -0400, Andreas Koenig via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=44549 > > > Seems to be fixed, closing ticket. Thanks!
I realise this message will re-open the ticket. I'm not sure if this should have been in a new ticket. Sorry for my delay in testing it. I've no "properly" tested it - simply tried to bootstrap from a clean install of blead. This time, I get into a loop with: cpan[2]> o conf init connect_to_internet_ok urllist If you have never defined your own C<urllist> in your configuration then C<CPAN.pm> will be hesitant to use the built in default sites for downloading. It will ask you once per session if a connection to the internet is OK and only if you say yes, it will try to connect. But to avoid this question, you can choose your favorite download sites once and get away with it. Or, if you have no favorite download sites answer yes to the following question. <connect_to_internet_ok> If no urllist has been chosen yet, would you prefer CPAN.pm to connect to the built-in default sites without asking? (yes/no)? [no] yes You have no /Users/nick/.cpan/sources/MIRRORED.BY I'm trying to fetch one Client not fully configured, please proceed with configuring. You have not configured a urllist. Please consider to set it with o conf init urllist cpan[3]> install URI Client not fully configured, please proceed with configuring. You have not configured a urllist. Please consider to set it with o conf init urllist cpan[4]> o conf init urllist cpan[5]> install URI Client not fully configured, please proceed with configuring. You have not configured a urllist. Please consider to set it with o conf init urllist cpan[6]> o conf init urllist cpan[7]> install URI Client not fully configured, please proceed with configuring. You have not configured a urllist. Please consider to set it with o conf init urllist cpan[8]> Nicholas Clark
Subject: Re: [rt.cpan.org #44549] CPAN doesn't bootstrap cleanly from zero.
Date: Mon, 25 May 2009 16:40:09 -0400
To: bug-CPAN [...] rt.cpan.org
From: David Golden <dagolden [...] cpan.org>
On Mon, May 25, 2009 at 11:40 AM, Nicholas Clark via RT <bug-CPAN@rt.cpan.org> wrote: Show quoted text
> I realise this message will re-open the ticket. I'm not sure if this should > have been in a new ticket.
I think it's sufficiently related to reopen the ticket so we have the history. On my system, it works as expected. This looks like a error when CPAN can't get MIRRORED.BY. At that point, it should give a more useful error and stop, I would think -- David
On Mon May 25 16:40:32 2009, DAGOLDEN wrote: Show quoted text
> This looks like a error when CPAN can't get MIRRORED.BY. At that > point, it should give a more useful error and stop, I would think
See commit c83ecbe67bf for improved error message. See also branch 'bootstrap-config' for a suggested improvement to autoconfiguration: http://github.com/dagolden/cpanpm/tree/bootstrap-config If the latter is merged, I think this ticket can be closed.
1.94_01 is uploaded 12 seconds ago. As much as I'd like to close tickets I'm sure Nicholas can try even harder to break my code:) Thanks Nicholas, great work!