Revision history for Perl extension CPAN.

=head2 Dec 21, 1996

Improved bundle mechanism.

Eliminated the star "*" that should save us some memory but introduced
complications far beyond what its worth.

Checked over occurrences of rename(). Replaced the one that might fail
due to file system boundaries with File::Copy::copy.

Introduced Text::ParseWords::shellwords instead of split for the
parsed command lines. This means, you can now set variables to such
complicated things as

cpan> o conf make_install_args 'CC="gcc.96q1 -B/usr/ccs/bin/" UNINST=1'

Thanks to "Mark D. Baushke" <mdb@cisco.com> for the hint!!!

=head2 Dec 1, 1996

Added security, evals of CHECKSUMS and 03modlist.data.gz now take
place in Safe compartements.

CacheMgr now skips symlinks.

Released 0.45a.

=head2 Nov 30, 1996

New module CPAN::Nox is a wrapper with same functionality as CPAN.pm,
but it will not load XS modules. Useful in a situation where you get
caught by binary incomapatibility (Where nights are longest) of a new
perl installation and (say) MD5 kills your CPAN session. Makefile.PL
now uses CPAN::Nox.

New method recompile() recompiles all installed dynamically loadable
extensions in one go.

=head2 Nov 21, 1996

Introduced a few sanity checks on data in urllist in the Makefile.PL
to prevent bogus URLs being consulted over and over.

Doug sent me another patch because commit didn't work. Thank you, Doug!

Small fixes in read_modpacks: read all entries, even those without a +
sign; read all entries, even if we know them already, pay special
attention to the CPAN.pm entry :-)

The output of C<u> seemed a bit boring with all those C<Contact
author..> entries. I'm skipping those for now and display only those
that have a distribution file associated.

Introduced 'clean'. Works just like test and install.

=head2 Nov 17, 1996

Doug MacEachern contributed a powerful suite of interactive
manipulation of $CPAN::Config variables. Try 'o conf urllist' to get
an impreesion of the feature. The interactive changes can even be
committed back into the Config file. Wow. Thanks, Doug!

CHECKSUMS files were never reused. Now CPAN checks if an existing
CHECKSUMS file contains the checksum we're looking for.

C<install> quite a few times too often answered with "Foo::Bar is up
to date". Should be fixed now.

index files were never refetched. Fixed now.

Renamed misleading configuration option C<cache_expire> to
C<index_expire>, C<more> to C<pager>, and C<inhibit-startup-message>
to C<inhibit_startup_message>.

If make install does not succeed we now check for permission problems
and suggest to become superuser. The feature was suggested by Jon
Orwant. This will need a bit more work: check for uid, let them become
superuser without leaving the program and such.

Improved help in several places.

Released 0.42a.

=head2 Oct 1, 1996

Implemented "force". Usage is simply:
    force make args...
    force test args...
    force install args...
This forces the fetch, untar, makefilepl, make and install even in
cases where CPAN thinks, the package is either up-to-date or cannot be
built or whatever.

=head2 Sep 28, 1996

Implemented

cpan> ! install(CPAN::Shell->r)    # install all recommendations
cpan> ! install(CPAN::Shell->u)    # install all uninstalled

or if you prefer

cpan> ! install(grep(/^[F-I]/,CPAN::Shell->r)) # only install from File to IO :-)

following a Dale Amon suggestion. CPAN::Shell->r and u return the list
of module names that are printed on STDOUT.

Released 0.40a

=head2 Sep 26, 1996

Write Bundle/ (even if no previous call to "b" happened) whenever
needed.

Check for a "Configure" script before writing your own
Makefile.PL. Run ./configure if you find it.

Don't check for %Term::ReadLine::Perl::, because that may be defined
without a good reason. Better check for
Term::ReadLine::Perl::readline. That's still silly, but I don't
pretend it's clever. We need a way to determine if a readline
interface is governing us.

Checking if STDIN is a terminal and not running Term::ReadKey and
ReadLine if not. Saves time _and_ allows batchmode to forgive
keystrokes during program execution.


=head2 Sep 22, 1996

More friendly setting of debugging options.

More checking of write permissions.

Rename of bundles/ directory to Bundle/ (allows perldoc read the pods).

Simplified the code shared between "r" und "u" command, added
autobundle.

Deprecated "o index" because it isn't really an option but an action
and renamed it to "reload index". Added "reload cpan". Added "o update".

Released 0.35a.

=head2 Sep 17, 1996

Support for CHECKSUMS files that have been gzipped by your CPAN site
admin. Check if file is readable if it is a local file (and you are
your own CPAN site admin :-) Released 0.29.

Direct call of install/make/test/bundle etc. without shell was
broken. Fixed and relleased 0.28.

=head2 Sep 12, 1996

Release of 0.26a.

Local source cache was ignored, now working.

'perl Makefile.PL < /dev/null'  now possible.

After release of 26a: Limit depth of modules to two levels to save
memory. Release of 0.27a.

=head2 Sep 11, 1996

Isolated both the FTP and the Shell subroutines into their own packages.

Made debug a method in package CPAN::Debug.

Added command o for setting options.

Added a newline here or there.

Added Ulrich's support for proxies.

=head2 Sep 10, 1996

Releasing Version 0.14-alpha. Nearly everything has been
rewritten. Too numerous changes to remember. This version is shell
oriented not batch oriented. Batches should be possible though.

Dropped the recommendation to install LWP, dropped the dependance on
LWP completely for UNIX systems.

Introduced CPAN::Config->{keep_source_where} as a pointer to the
directory where we store the fetched sources locally.

Introduced CPAN::Config->{makeplarg}, arguments to the '$^X
Makefile.PL' call.

Check for Net::FTP even when LWP is available.

Remove the lockfile in a signal handler.

Motherhoodified the pod section ;-)


=head2 Apr 28, 1996

0.04-alpha version announced only to the porters


0.01  Mon Feb 19 15:06:30 1996
	- original version; created by h2xs 1.16