This is the README for CPAN::SQLite, which is used for setting up,
maintaining, and searching through a local CPAN database consisting
of information in the three main CPAN index files:
  $CPAN/modules/03modlist.data.gz
  $CPAN/modules/02packages.details.txt.gz
  $CPAN/authors/01mailrc.txt.gz
DBD::SQLite is used as the database engine.

Installation proceeds through the usual
   perl Makefile.PL
   $MAKE
   $MAKE test
   $MAKE install
or, if Module::Build is available,
   perl Build.PL
   perl Build
   perl Build test
   perl Build install

The package consists of a number of modules:
   CPAN::SQLite: the top-level package
   CPAN::SQLite::Index: set up and maintain the database
   CPAN::SQLite::Info: extract information from the CPAN indices
   CPAN::SQLite::META: helper module for CPAN.pm integration
   CPAN::SQLite::State: gather information on the state of the database
   CPAN::SQLite::Search: methods to search the database
   CPAN::SQLite::Populate: populate the database tables
   CPAN::SQLite::DBI: DBI information for the database
   CPAN::SQLite::DBI::Index: DBI information for indexing the database
   CPAN::SQLite::DBI:Search: DBI information for searching the database
See the pod documentation of the specific modules for details.

Perhaps the easiest way to set up and maintain the database is through
the supplied cpandb script. If we assume that there is a CPAN.pm
client available and configured, the database can be created via
   cpandb --setup
which will create the database file cpandb.sql under the
"cpan_home" defined in CPAN::Config (this is the same location
as where CPAN.pm's Metadata is found). Subsequent updates to
the database can be done through
   cpandb --update
This scenario assumes that updates to the CPAN index files are
handled by CPAN.pm.

The cpandb script also provides some elementary searches:
   cpandb --module My::Module
   cpandb --dist My-Dist
   cpandb --cpanid ME
which will provide some information on, respectively, the
specified CPAN module, distribution, and CPAN author id.
The query terms are assumed to match exactly, and are
case-insensitive.

As of CPAN.pm version 1.88_65, there is experimental support 
within CPAN.pm for using CPAN::SQLite to obtain
information on packages, modules, and authors. One goal
of this is to reduce the memory footprint of the CPAN.pm
shell, as this information is no longer all preloaded into
memory. This can be enabled through
   perl -MCPAN -e shell
   cpan> o conf use_sqlite 1

This version is considered alpha. Please report bugs
and feature requests to CPAN's request tracker:

  http://rt.cpan.org/NoAuth/Bugs.html?Dist=CPAN-SQLite

or directly to the author. Development takes place at

  http://cpan-search.svn.sourceforge.net/viewvc/cpan-search/CPAN-SQLite/

This software is copyright 2006 by Randy Kobes
<r.kobes@uwinnipeg.ca>. Use and
redistribution are under the same terms as Perl itself.
