Bootstrapping CPAN.pm using HTTP::Lite

One of my goals for Perl 5.14 that I've discussed with Jesse Vincent and Andreas Koenig is getting CPAN.pm to be able to bootstrap itself in a fresh perl installation without relying on external command line tools or FTP. LWP is too big a distribution to bundle into the core, but HTTP::Lite is a focused little module that provides everything needed. (cpanm bundles HTTP::Lite already)

I've just finished some work to add HTTP::Lite support to CPAN.pm and Andreas has merged it into the master branch. The next step will be to test it out in a development release. If all goes well, the plan is to merge the latest CPAN.pm into the Perl core and bring in HTTP::Lite as well. Then, finally, a mere 20 years after the invention of HTTP, Perl 5.14 will be able to speak HTTP out of the box and bootstrap access to all of CPAN.

Keep your fingers crossed.

This entry was posted in cpan, p5p, perl programming and tagged , , . Bookmark the permalink. Both comments and trackbacks are currently closed.

4 Comments

  1. Posted November 11, 2010 at 12:07 am | Permalink

    That sounds like a very welcome improvement. I look forward to it. Maybe then CPANPLUS can also be made to use HTTP::Lite if appropriate.

    • Posted November 11, 2010 at 7:11 am | Permalink

      I'm not involved in CPANPLUS development, but in response to my work, Chris Williams released a new File::Fetch with support for HTTP::Lite. CPANPLUS uses File::Fetch to retrieve files from CPAN, so, yes, CPANPLUS will soon be able to bootstrap with pure-Perl HTTP as well.

  2. Posted November 16, 2010 at 11:40 pm | Permalink

    5.14 is sounding great in so many little and not so little ways.

  3. Reini Urban
    Posted December 4, 2010 at 12:01 pm | Permalink

    Whow.
    So cygwin can ship without 20 or so extra vendor modules just to allow users to use CPAN to add modules, and not having to package these as cygwin packages.
    http://search.cpan.org/dist/Bundle-CygwinVendor/

    Lot of people complained about that on the cygwin list.

One Trackback

  • By Why HTTP::Tiny? | dagolden on January 11, 2011 at 8:14 pm

    [...] did HTTP::Tiny come from? When I was working on getting CPAN.pm to support a pure-Perl HTTP bootstrap, I started with HTTP::Lite. When I discussed it on #p5p, Christian Hansen pointed out a number of [...]

© 2009-2014 David Golden All Rights Reserved