NAME
CPANPLUS::Internals::Source::CPANMetaDB - CPAN Meta DB source
implementation
VERSION
version 0.06
SYNOPSIS
# In the CPANPLUS shell
CPAN Terminal> s conf no_update 1
CPAN Terminal> s conf source_engine CPANPLUS::Internals::Source::CPANMetaDB
CPAN Terminal> s save
DESCRIPTION
CPANPLUS::Internals::Source::CPANMetaDB is a CPANPLUS source
implementation.
It is deadly experimental.
Usually CPANPLUS retrieves the CPAN index files, extracts them and
builds an in-memory index of every module listed on CPAN. As you can
imagine, this is quite memory intensive.
This source implementation does things slightly different.
Instead of building an in-memory index, it queries the
website for module/distribution
information as and when it is required by CPANPLUS.
The default CPANMetaDB site is .
You may set the "PERL5_CPANMETADB_URL" environment variable to an
alternative if you wish.
CAVEATS
There are some caveats.
As shown in the "SYNOPSIS" you must set the CPANPLUS configuration
variable "no_update" to a true value to use this source engine. This
prevents CPANPLUS from attempting to update CPAN indexes.
Attempting to searches and getting a list of out of date modules in
CPANPLUS are incredibly slow due the million or so web accesses that are
incurred.
I have included two scripts in the "examples" directory of this
distribution that may be of use. "installer.pl" does installation of
modules and "updater.pl" will find out of date modules and prompt to
update them.
The CPAN Meta DB does not index authors. This means that this source
engine has to cheat by populating the "author_tree" with
CPANPLUS::Module::Author::Fake objects. The only thing guaranteed to be
accurate is the CPAN ID of authors. Looking up a module in the
"module_tree" will trigger a query to the CPAN Meta DB site, from which
an author object will be created.
You cannot currently query an author. Because of the implementation you
will get back a CPANPLUS::Module::Author::Fake object, but the source
engine just assumes what you pass in as CPAN ID is valid.
If this is a problem have a look at CPANPLUS::Internals::Source::CPANIDX
instead.
KUDOS
CPAN Meta DB was created by Tatsuhiko Miyagawa for App::cpanminus
SEE ALSO
CPANPLUS
CPANPLUS::Internals::Source
CPANPLUS::Internals::Source::CPANIDX
AUTHORS
* Chris Williams
* Jos Boumans
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Chris Williams, Jos Boumans, Roy
Hooper and Adam Kennedy.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.