summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/cpan.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/cpan.1')
-rw-r--r--upstream/mageia-cauldron/man1/cpan.1340
1 files changed, 340 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/cpan.1 b/upstream/mageia-cauldron/man1/cpan.1
new file mode 100644
index 00000000..45dbf68b
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/cpan.1
@@ -0,0 +1,340 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "CPAN 1"
+.TH CPAN 1 2023-12-15 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+cpan \- easily interact with CPAN from the command line
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+.Vb 2
+\& # with arguments and no switches, installs specified modules
+\& cpan module_name [ module_name ... ]
+\&
+\& # with switches, installs modules with extra behavior
+\& cpan [\-cfFimtTw] module_name [ module_name ... ]
+\&
+\& # use local::lib
+\& cpan \-I module_name [ module_name ... ]
+\&
+\& # one time mirror override for faster mirrors
+\& cpan \-p ...
+\&
+\& # with just the dot, install from the distribution in the
+\& # current directory
+\& cpan .
+\&
+\& # without arguments, starts CPAN.pm shell
+\& cpan
+\&
+\& # without arguments, but some switches
+\& cpan [\-ahpruvACDLOPX]
+.Ve
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+This script provides a command interface (not a shell) to CPAN. At the
+moment it uses CPAN.pm to do the work, but it is not a one-shot command
+runner for CPAN.pm.
+.SS Options
+.IX Subsection "Options"
+.IP \-a 4
+.IX Item "-a"
+Creates a CPAN.pm autobundle with CPAN::Shell\->autobundle.
+.IP "\-A module [ module ... ]" 4
+.IX Item "-A module [ module ... ]"
+Shows the primary maintainers for the specified modules.
+.IP "\-c module" 4
+.IX Item "-c module"
+Runs a `make clean` in the specified module's directories.
+.IP "\-C module [ module ... ]" 4
+.IX Item "-C module [ module ... ]"
+Show the \fIChanges\fR files for the specified modules
+.IP "\-D module [ module ... ]" 4
+.IX Item "-D module [ module ... ]"
+Show the module details. This prints one line for each out-of-date module
+(meaning, modules locally installed but have newer versions on CPAN).
+Each line has three columns: module name, local version, and CPAN
+version.
+.IP \-f 4
+.IX Item "-f"
+Force the specified action, when it normally would have failed. Use this
+to install a module even if its tests fail. When you use this option,
+\&\-i is not optional for installing a module when you need to force it:
+.Sp
+.Vb 1
+\& % cpan \-f \-i Module::Foo
+.Ve
+.IP \-F 4
+.IX Item "-F"
+Turn off CPAN.pm's attempts to lock anything. You should be careful with
+this since you might end up with multiple scripts trying to muck in the
+same directory. This isn't so much of a concern if you're loading a special
+config with \f(CW\*(C`\-j\*(C'\fR, and that config sets up its own work directories.
+.IP "\-g module [ module ... ]" 4
+.IX Item "-g module [ module ... ]"
+Downloads to the current directory the latest distribution of the module.
+.IP "\-G module [ module ... ]" 4
+.IX Item "-G module [ module ... ]"
+UNIMPLEMENTED
+.Sp
+Download to the current directory the latest distribution of the
+modules, unpack each distribution, and create a git repository for each
+distribution.
+.Sp
+If you want this feature, check out Yanick Champoux's \f(CW\*(C`Git::CPAN::Patch\*(C'\fR
+distribution.
+.IP \-h 4
+.IX Item "-h"
+Print a help message and exit. When you specify \f(CW\*(C`\-h\*(C'\fR, it ignores all
+of the other options and arguments.
+.IP "\-i module [ module ... ]" 4
+.IX Item "-i module [ module ... ]"
+Install the specified modules. With no other switches, this switch
+is implied.
+.IP \-I 4
+.IX Item "-I"
+Load \f(CW\*(C`local::lib\*(C'\fR (think like \f(CW\*(C`\-I\*(C'\fR for loading lib paths). Too bad
+\&\f(CW\*(C`\-l\*(C'\fR was already taken.
+.IP "\-j Config.pm" 4
+.IX Item "-j Config.pm"
+Load the file that has the CPAN configuration data. This should have the
+same format as the standard \fICPAN/Config.pm\fR file, which defines
+\&\f(CW$CPAN::Config\fR as an anonymous hash.
+.IP \-J 4
+.IX Item "-J"
+Dump the configuration in the same format that CPAN.pm uses. This is useful
+for checking the configuration as well as using the dump as a starting point
+for a new, custom configuration.
+.IP \-l 4
+.IX Item "-l"
+List all installed modules with their versions
+.IP "\-L author [ author ... ]" 4
+.IX Item "-L author [ author ... ]"
+List the modules by the specified authors.
+.IP \-m 4
+.IX Item "-m"
+Make the specified modules.
+.IP "\-M mirror1,mirror2,..." 4
+.IX Item "-M mirror1,mirror2,..."
+A comma-separated list of mirrors to use for just this run. The \f(CW\*(C`\-P\*(C'\fR
+option can find them for you automatically.
+.IP \-n 4
+.IX Item "-n"
+Do a dry run, but don't actually install anything. (unimplemented)
+.IP \-O 4
+.IX Item "-O"
+Show the out-of-date modules.
+.IP \-p 4
+.IX Item "-p"
+Ping the configured mirrors and print a report
+.IP \-P 4
+.IX Item "-P"
+Find the best mirrors you could be using and use them for the current
+session.
+.IP \-r 4
+.IX Item "-r"
+Recompiles dynamically loaded modules with CPAN::Shell\->recompile.
+.IP \-s 4
+.IX Item "-s"
+Drop in the CPAN.pm shell. This command does this automatically if you don't
+specify any arguments.
+.IP "\-t module [ module ... ]" 4
+.IX Item "-t module [ module ... ]"
+Run a `make test` on the specified modules.
+.IP \-T 4
+.IX Item "-T"
+Do not test modules. Simply install them.
+.IP \-u 4
+.IX Item "-u"
+Upgrade all installed modules. Blindly doing this can really break things,
+so keep a backup.
+.IP \-v 4
+.IX Item "-v"
+Print the script version and CPAN.pm version then exit.
+.IP \-V 4
+.IX Item "-V"
+Print detailed information about the cpan client.
+.IP \-w 4
+.IX Item "-w"
+UNIMPLEMENTED
+.Sp
+Turn on cpan warnings. This checks various things, like directory permissions,
+and tells you about problems you might have.
+.IP "\-x module [ module ... ]" 4
+.IX Item "-x module [ module ... ]"
+Find close matches to the named modules that you think you might have
+mistyped. This requires the optional installation of Text::Levenshtein or
+Text::Levenshtein::Damerau.
+.IP \-X 4
+.IX Item "-X"
+Dump all the namespaces to standard output.
+.SS Examples
+.IX Subsection "Examples"
+.Vb 2
+\& # print a help message
+\& cpan \-h
+\&
+\& # print the version numbers
+\& cpan \-v
+\&
+\& # create an autobundle
+\& cpan \-a
+\&
+\& # recompile modules
+\& cpan \-r
+\&
+\& # upgrade all installed modules
+\& cpan \-u
+\&
+\& # install modules ( sole \-i is optional )
+\& cpan \-i Netscape::Booksmarks Business::ISBN
+\&
+\& # force install modules ( must use \-i )
+\& cpan \-fi CGI::Minimal URI
+\&
+\& # install modules but without testing them
+\& cpan \-Ti CGI::Minimal URI
+.Ve
+.SS "Environment variables"
+.IX Subsection "Environment variables"
+There are several components in CPAN.pm that use environment variables.
+The build tools, ExtUtils::MakeMaker and Module::Build use some,
+while others matter to the levels above them. Some of these are specified
+by the Perl Toolchain Gang:
+.PP
+Lancaster Consensus: <https://github.com/Perl\-Toolchain\-Gang/toolchain\-site/blob/master/lancaster\-consensus.md>
+.PP
+Oslo Consensus: <https://github.com/Perl\-Toolchain\-Gang/toolchain\-site/blob/master/oslo\-consensus.md>
+.IP NONINTERACTIVE_TESTING 4
+.IX Item "NONINTERACTIVE_TESTING"
+Assume no one is paying attention and skips prompts for distributions
+that do that correctly. \f(CWcpan(1)\fR sets this to \f(CW1\fR unless it already
+has a value (even if that value is false).
+.IP PERL_MM_USE_DEFAULT 4
+.IX Item "PERL_MM_USE_DEFAULT"
+Use the default answer for a prompted questions. \f(CWcpan(1)\fR sets this
+to \f(CW1\fR unless it already has a value (even if that value is false).
+.IP CPAN_OPTS 4
+.IX Item "CPAN_OPTS"
+As with \f(CW\*(C`PERL5OPT\*(C'\fR, a string of additional \f(CWcpan(1)\fR options to
+add to those you specify on the command line.
+.IP CPANSCRIPT_LOGLEVEL 4
+.IX Item "CPANSCRIPT_LOGLEVEL"
+The log level to use, with either the embedded, minimal logger or
+Log::Log4perl if it is installed. Possible values are the same as
+the \f(CW\*(C`Log::Log4perl\*(C'\fR levels: \f(CW\*(C`TRACE\*(C'\fR, \f(CW\*(C`DEBUG\*(C'\fR, \f(CW\*(C`INFO\*(C'\fR, \f(CW\*(C`WARN\*(C'\fR,
+\&\f(CW\*(C`ERROR\*(C'\fR, and \f(CW\*(C`FATAL\*(C'\fR. The default is \f(CW\*(C`INFO\*(C'\fR.
+.IP GIT_COMMAND 4
+.IX Item "GIT_COMMAND"
+The path to the \f(CW\*(C`git\*(C'\fR binary to use for the Git features. The default
+is \f(CW\*(C`/usr/local/bin/git\*(C'\fR.
+.SH "EXIT VALUES"
+.IX Header "EXIT VALUES"
+The script exits with zero if it thinks that everything worked, or a
+positive number if it thinks that something failed. Note, however, that
+in some cases it has to divine a failure by the output of things it does
+not control. For now, the exit codes are vague:
+.PP
+.Vb 1
+\& 1 An unknown error
+\&
+\& 2 The was an external problem
+\&
+\& 4 There was an internal problem with the script
+\&
+\& 8 A module failed to install
+.Ve
+.SH "TO DO"
+.IX Header "TO DO"
+* one shot configuration values from the command line
+.SH BUGS
+.IX Header "BUGS"
+* none noted
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+Most behaviour, including environment variables and configuration,
+comes directly from CPAN.pm.
+.SH "SOURCE AVAILABILITY"
+.IX Header "SOURCE AVAILABILITY"
+This code is in Github in the CPAN.pm repository:
+.PP
+.Vb 1
+\& https://github.com/andk/cpanpm
+.Ve
+.PP
+The source used to be tracked separately in another GitHub repo,
+but the canonical source is now in the above repo.
+.SH CREDITS
+.IX Header "CREDITS"
+Japheth Cleaver added the bits to allow a forced install (\-f).
+.PP
+Jim Brandt suggest and provided the initial implementation for the
+up-to-date and Changes features.
+.PP
+Adam Kennedy pointed out that \fBexit()\fR causes problems on Windows
+where this script ends up with a .bat extension
+.SH AUTHOR
+.IX Header "AUTHOR"
+brian d foy, \f(CW\*(C`<bdfoy@cpan.org>\*(C'\fR
+.SH COPYRIGHT
+.IX Header "COPYRIGHT"
+Copyright (c) 2001\-2015, brian d foy, All Rights Reserved.
+.PP
+You may redistribute this under the same terms as Perl itself.