Spaces:
Running
Running
| #!/home/simon/prog/text-generation-webui/installer_files/env/bin/perl | |
| eval 'exec /home/simon/prog/text-generation-webui/installer_files/env/bin/perl -S $0 ${1+"$@"}' | |
| if 0; # ^ Run only under a shell | |
| #!/usr/local/bin/perl | |
| BEGIN { pop @INC if $INC[-1] eq '.' } | |
| use strict; | |
| use vars qw($VERSION); | |
| use App::Cpan; | |
| use CPAN::Version; | |
| my $minver = '1.64'; | |
| if ( CPAN::Version->vlt($App::Cpan::VERSION, $minver) ) { | |
| warn "WARNING: your version of App::Cpan is $App::Cpan::VERSION while we would expect at least $minver"; | |
| } | |
| $VERSION = '1.64'; | |
| my $rc = App::Cpan->run( @ARGV ); | |
| # will this work under Strawberry Perl? | |
| exit( $rc || 0 ); | |
| =head1 NAME | |
| cpan - easily interact with CPAN from the command line | |
| =head1 SYNOPSIS | |
| # 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] | |
| =head1 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. | |
| =head2 Options | |
| =over 4 | |
| =item -a | |
| Creates a CPAN.pm autobundle with CPAN::Shell->autobundle. | |
| =item -A module [ module ... ] | |
| Shows the primary maintainers for the specified modules. | |
| =item -c module | |
| Runs a `make clean` in the specified module's directories. | |
| =item -C module [ module ... ] | |
| Show the F<Changes> files for the specified modules | |
| =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. | |
| =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: | |
| % cpan -f -i Module::Foo | |
| =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 C<-j>, and that config sets up its own work directories. | |
| =item -g module [ module ... ] | |
| Downloads to the current directory the latest distribution of the module. | |
| =item -G module [ module ... ] | |
| UNIMPLEMENTED | |
| Download to the current directory the latest distribution of the | |
| modules, unpack each distribution, and create a git repository for each | |
| distribution. | |
| If you want this feature, check out Yanick Champoux's C<Git::CPAN::Patch> | |
| distribution. | |
| =item -h | |
| Print a help message and exit. When you specify C<-h>, it ignores all | |
| of the other options and arguments. | |
| =item -i module [ module ... ] | |
| Install the specified modules. With no other switches, this switch | |
| is implied. | |
| =item -I | |
| Load C<local::lib> (think like C<-I> for loading lib paths). Too bad | |
| C<-l> was already taken. | |
| =item -j Config.pm | |
| Load the file that has the CPAN configuration data. This should have the | |
| same format as the standard F<CPAN/Config.pm> file, which defines | |
| C<$CPAN::Config> as an anonymous hash. | |
| =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. | |
| =item -l | |
| List all installed modules with their versions | |
| =item -L author [ author ... ] | |
| List the modules by the specified authors. | |
| =item -m | |
| Make the specified modules. | |
| =item -M mirror1,mirror2,... | |
| A comma-separated list of mirrors to use for just this run. The C<-P> | |
| option can find them for you automatically. | |
| =item -n | |
| Do a dry run, but don't actually install anything. (unimplemented) | |
| =item -O | |
| Show the out-of-date modules. | |
| =item -p | |
| Ping the configured mirrors and print a report | |
| =item -P | |
| Find the best mirrors you could be using and use them for the current | |
| session. | |
| =item -r | |
| Recompiles dynamically loaded modules with CPAN::Shell->recompile. | |
| =item -s | |
| Drop in the CPAN.pm shell. This command does this automatically if you don't | |
| specify any arguments. | |
| =item -t module [ module ... ] | |
| Run a `make test` on the specified modules. | |
| =item -T | |
| Do not test modules. Simply install them. | |
| =item -u | |
| Upgrade all installed modules. Blindly doing this can really break things, | |
| so keep a backup. | |
| =item -v | |
| Print the script version and CPAN.pm version then exit. | |
| =item -V | |
| Print detailed information about the cpan client. | |
| =item -w | |
| UNIMPLEMENTED | |
| Turn on cpan warnings. This checks various things, like directory permissions, | |
| and tells you about problems you might have. | |
| =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. | |
| =item -X | |
| Dump all the namespaces to standard output. | |
| =back | |
| =head2 Examples | |
| # 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 | |
| =head2 Environment variables | |
| There are several components in CPAN.pm that use environment variables. | |
| The build tools, L<ExtUtils::MakeMaker> and L<Module::Build> use some, | |
| while others matter to the levels above them. Some of these are specified | |
| by the Perl Toolchain Gang: | |
| Lancaster Concensus: L<https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md> | |
| Oslo Concensus: L<https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/oslo-consensus.md> | |
| =over 4 | |
| =item NONINTERACTIVE_TESTING | |
| Assume no one is paying attention and skips prompts for distributions | |
| that do that correctly. C<cpan(1)> sets this to C<1> unless it already | |
| has a value (even if that value is false). | |
| =item PERL_MM_USE_DEFAULT | |
| Use the default answer for a prompted questions. C<cpan(1)> sets this | |
| to C<1> unless it already has a value (even if that value is false). | |
| =item CPAN_OPTS | |
| As with C<PERL5OPT>, a string of additional C<cpan(1)> options to | |
| add to those you specify on the command line. | |
| =item CPANSCRIPT_LOGLEVEL | |
| The log level to use, with either the embedded, minimal logger or | |
| L<Log::Log4perl> if it is installed. Possible values are the same as | |
| the C<Log::Log4perl> levels: C<TRACE>, C<DEBUG>, C<INFO>, C<WARN>, | |
| C<ERROR>, and C<FATAL>. The default is C<INFO>. | |
| =item GIT_COMMAND | |
| The path to the C<git> binary to use for the Git features. The default | |
| is C</usr/local/bin/git>. | |
| =back | |
| =head1 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: | |
| 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 | |
| =head1 TO DO | |
| * one shot configuration values from the command line | |
| =head1 BUGS | |
| * none noted | |
| =head1 SEE ALSO | |
| Most behaviour, including environment variables and configuration, | |
| comes directly from CPAN.pm. | |
| =head1 SOURCE AVAILABILITY | |
| This code is in Github in the CPAN.pm repository: | |
| https://github.com/andk/cpanpm | |
| The source used to be tracked separately in another GitHub repo, | |
| but the canonical source is now in the above repo. | |
| =head1 CREDITS | |
| Japheth Cleaver added the bits to allow a forced install (-f). | |
| Jim Brandt suggest and provided the initial implementation for the | |
| up-to-date and Changes features. | |
| Adam Kennedy pointed out that exit() causes problems on Windows | |
| where this script ends up with a .bat extension | |
| =head1 AUTHOR | |
| brian d foy, C<< <[email protected]> >> | |
| =head1 COPYRIGHT | |
| Copyright (c) 2001-2015, brian d foy, All Rights Reserved. | |
| You may redistribute this under the same terms as Perl itself. | |
| =cut | |
| 1; | |