- NAME
- SYNOPSIS
- DESCRIPTION
- CONFIGURATION
  - Section 'conf'
  - Section 'program'
- BUG REPORTS
- AUTHOR
- COPYRIGHT
- SEE ALSO

# NAME

CPANPLUS::Config - configuration defaults and heuristics for CPANPLUS

# SYNOPSIS

        ### conf object via CPANPLUS::Backend;
        $cb   = CPANPLUS::Backend->new;
        $conf = $cb->configure_object;

        ### or as a standalone object
        $conf = CPANPLUS::Configure->new;

        ### values in 'conf' section
        $verbose = $conf->get_conf( 'verbose' );
        $conf->set_conf( verbose => 1 );

        ### values in 'program' section
        $editor = $conf->get_program( 'editor' );
        $conf->set_program( editor => '/bin/vi' );

# DESCRIPTION

This module contains defaults and heuristics for configuration information for CPANPLUS. To change any of these values, please see the documentation in `CPANPLUS::Configure`.

Below you'll find a list of configuration types and keys, and their meaning.

# CONFIGURATION

## Section 'conf'

hosts

  An array ref containing hosts entries to be queried for packages.

  An example entry would like this:

          {   'scheme' => 'ftp',
              'path' => '/pub/CPAN/',
              'host' => 'ftp.cpan.org'
          },

allow_build_interactivity

  Boolean flag to indicate whether 'perl Makefile.PL' and similar are run interactively or not. Defaults to 'true'.

allow_unknown_prereqs

  Boolean flag to indicate that unresolvable prereqs are acceptable. If `true` then only warnings will be issued (the behaviour before 0.9114) when a module is unresolvable from any our sources (CPAN and/or `custom_sources`). If `false` then an unresolvable prereq will fail during the `prepare` stage of distribution installation. Defaults to `true`.

base

  The directory CPANPLUS keeps all its build and state information in. Defaults to ~/.cpanplus. If File::HomeDir is available, that will be used to work out your `HOME` directory. This may be overriden by setting the `PERL5_CPANPLUS_HOME` environment variable, see CPANPLUS::Config::HomeEnv for more details.

buildflags

  Any flags to be passed to 'perl Build.PL'. See `perldoc Module::Build` for details. Defaults to an empty string.

cpantest

  Boolean flag to indicate whether or not to mail test results of module installations to `http://testers.cpan.org`. Defaults to 'false'.

cpantest_mx

  String holding an explicit mailserver to use when sending out emails for `http://testers.cpan.org`. An empty string will use your system settings. Defaults to an empty string.

debug

  Boolean flag to enable or disable extensive debuggging information. Defaults to 'false'.

dist_type

  Default distribution type to use when building packages. See `cpan2dist` or `CPANPLUS::Dist` for details. An empty string will not use any package building software. Defaults to an empty string.

email

  Email address to use for anonymous ftp access and as `from` address when sending emails. Defaults to an `example.com` address.

enable_custom_sources

  Boolean flag indicating whether custom sources should be enabled or not. See the `CUSTOM MODULE SOURCES` in `CPANPLUS::Backend` for details on how to use them.

  Defaults to `true`

extractdir

  String containing the directory where fetched archives should be extracted. An empty string will use a directory under your `base` directory. Defaults to an empty string.

fetchdir

  String containing the directory where fetched archives should be stored. An empty string will use a directory under your `base` directory. Defaults to an empty string.

flush

  Boolean indicating whether build failures, cache dirs etc should be flushed after every operation or not. Defaults to 'true'.

force

  Boolean indicating whether files should be forcefully overwritten if they exist, modules should be installed when they fail tests, etc. Defaults to 'false'.

histfile

  A string containing the history filename of the CPANPLUS readline instance.

lib

  An array ref holding directories to be added to `@INC` when CPANPLUS starts up. Defaults to an empty array reference.

makeflags

  A string holding flags that will be passed to the `make` program when invoked. Defaults to an empty string.

makemakerflags

  A string holding flags that will be passed to `perl Makefile.PL` when invoked. Defaults to an empty string.

md5

  A boolean indicating whether or not sha256 checks should be done when an archive is fetched. Defaults to 'true' if you have `Digest::SHA` installed, 'false' otherwise.

no_update

  A boolean indicating whether or not `CPANPLUS`' source files should be updated or not. Defaults to 'false'.

passive

  A boolean indicating whether or not to use passive ftp connections. Defaults to 'true'.

prefer_bin

  A boolean indicating whether or not to prefer command line programs over perl modules. Defaults to 'false' unless you do not have `Compress::Zlib` installed (as that would mean we could not extract `.tar.gz` files)

prefer_makefile

  A boolean indicating whether or not prefer a `Makefile.PL` over a `Build.PL` file if both are present. Defaults to 'true', unless the perl version is at least 5.10.1 or appropriate versions of Module::Build and CPANPLUS::Dist::Build are available.

prereqs

  A digit indicating what to do when a package you are installing has a prerequisite. Options are:

          0   Do not install
          1   Install
          2   Ask
          3   Ignore  (dangerous, install will probably fail!)

  The default is to ask.

shell

  A string holding the shell class you wish to start up when starting `CPANPLUS` in interactive mode.

  Defaults to `CPANPLUS::Shell::Default`, the default CPANPLUS shell.

show_startup_tip

  A boolean indicating whether or not to show start up tips in the interactive shell. Defaults to 'true'.

signature

  A boolean indicating whether or not check signatures if packages are signed. Defaults to 'true' if you have `gpg` or `Crypt::OpenPGP` installed, 'false' otherwise.

skiptest

  A boolean indicating whether or not to skip tests when installing modules. Defaults to 'false'.

storable

  A boolean indicating whether or not to use `Storable` to write compiled source file information to disk. This makes for faster startup and look up times, but takes extra diskspace. Defaults to 'true' if you have `Storable` installed and 'false' if you don't.

timeout

  Digit indicating the time before a fetch request times out (in seconds). Defaults to 300.

verbose

  A boolean indicating whether or not `CPANPLUS` runs in verbose mode. Defaults to 'true' if you have the environment variable `PERL5_CPANPLUS_VERBOSE` set to true, 'false' otherwise.

  It is recommended you run with verbose enabled, but it is disabled for historical reasons.

write_install_log

  A boolean indicating whether or not to write install logs after installing a module using the interactive shell. Defaults to 'true'.

source_engine

  Class to use as the source engine, which is generally a subclass of `CPANPLUS::Internals::Source`. Default to `CPANPLUS::Internals::Source::Memory`.

cpantest_reporter_args

  A hashref of key => value pairs that are passed to the constructor of `Test::Reporter`. If you'd want to enable TLS for example, you'd set it to:

        { transport       => 'Net::SMTP::TLS',
          transport_args  => [ User => 'Joe', Password => '123' ],
        }

## Section 'program'

editor

  A string holding the path to your editor of choice. Defaults to your $ENV{EDITOR}, $ENV{VISUAL}, 'vi' or 'pico' programs, in that order.

make

  A string holding the path to your `make` binary. Looks for the `make` program used to build perl or failing that, a `make` in your path.

pager

  A string holding the path to your pager of choice. Defaults to your $ENV{PAGER}, 'less' or 'more' programs, in that order.

shell

  A string holding the path to your login shell of choice. Defaults to your $ENV{SHELL} setting, or $ENV{COMSPEC} on Windows.

sudo

  A string holding the path to your `sudo` binary if your install path requires super user permissions. Looks for `sudo` in your path, or remains empty if you do not require super user permissions to install.

perlwrapper

  DEPRECATED

  A string holding the path to the `cpanp-run-perl` utility bundled with CPANPLUS, which is used to enable autoflushing in spawned processes.

# BUG REPORTS

Please report bugs or other issues to <bug-cpanplus@rt.cpan.org<gt>.

# AUTHOR

This module by Jos Boumans <kane@cpan.org>.

# COPYRIGHT

The CPAN++ interface (of which this module is a part of) is copyright (c) 2001 - 2007, Jos Boumans <kane@cpan.org>. All rights reserved.

This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.

# SEE ALSO

CPANPLUS::Backend, CPANPLUS::Configure::Setup, CPANPLUS::Configure