#!/usr/bin/perl -w use strict; use warnings; use CPAN::Mini::App; CPAN::Mini::App->run; # PODNAME: minicpan # ABSTRACT: uses CPAN::Mini to create or update a local mirror =pod =encoding UTF-8 =head1 NAME minicpan - uses CPAN::Mini to create or update a local mirror =head1 VERSION version 1.111016 =head1 SYNOPSIS minicpan [options] Options -l LOCAL - where is the local minicpan? (required) -r REMOTE - where is the remote cpan mirror? (required) -d 0### - permissions (numeric) to use when creating directories -f - check all directories, even if indices are unchanged -p - mirror perl, ponie, and parrot distributions --debug - run in debug mode (print even banal messages) -q - run in quiet mode (don't print status) -qq - run in silent mode (don't even print warnings) -c CLASS - what class to use to mirror (default: CPAN::Mini) -C FILE - what config file to use (default: ~/.minicpanrc) -h - print help and exit -v - print version and exit -x - build an exact mirror, getting even normally disallowed files -t SEC - timeout in sec. Defaults to 180 sec --offline - operate in offline mode (generally: do nothing) --log-level - provide a log level; instead of --debug, -q, or -qq --remote-from TYPE - cpan remote from 'cpan' or 'cpanplus' configs =head1 DESCRIPTION This simple shell script just updates (or creates) a miniature CPAN mirror as described in CPAN::Mini. =head1 CONFIGURATION FILE By default, C will read a configuration file to get configuration information. The file is a simple set of names and values, as in the following example: local: /home/rjbs/mirrors/minicpan/ remote: http://your.favorite.cpan/cpan/ exact_mirror: 1 C tries to find a configuration file through the following process. It takes the first defined it finds: =over 4 =item * Use the value specified by C<-C> on the command line =item * Use the value in the C environment variable =item * Use F<~/.minicpanrc> =item * Use F =back If the selected file does not exist, C does not keep looking. You can override this process with a C method in your subclass. See C for a full listing of available options. =head1 TO DO Improve command-line options. =head1 SEE ALSO Randal Schwartz's original article, which can be found here: http://www.stonehenge.com/merlyn/LinuxMag/col42.html =head1 AUTHORS =over 4 =item * Ricardo SIGNES =item * Randal Schwartz =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2004 by Ricardo SIGNES. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut __END__ #pod =head1 SYNOPSIS #pod #pod minicpan [options] #pod #pod Options #pod -l LOCAL - where is the local minicpan? (required) #pod -r REMOTE - where is the remote cpan mirror? (required) #pod -d 0### - permissions (numeric) to use when creating directories #pod -f - check all directories, even if indices are unchanged #pod -p - mirror perl, ponie, and parrot distributions #pod --debug - run in debug mode (print even banal messages) #pod -q - run in quiet mode (don't print status) #pod -qq - run in silent mode (don't even print warnings) #pod -c CLASS - what class to use to mirror (default: CPAN::Mini) #pod -C FILE - what config file to use (default: ~/.minicpanrc) #pod -h - print help and exit #pod -v - print version and exit #pod -x - build an exact mirror, getting even normally disallowed files #pod -t SEC - timeout in sec. Defaults to 180 sec #pod --offline - operate in offline mode (generally: do nothing) #pod --log-level - provide a log level; instead of --debug, -q, or -qq #pod --remote-from TYPE - cpan remote from 'cpan' or 'cpanplus' configs #pod #pod =head1 DESCRIPTION #pod #pod This simple shell script just updates (or creates) a miniature CPAN mirror as #pod described in CPAN::Mini. #pod #pod =head1 CONFIGURATION FILE #pod #pod By default, C will read a configuration file to get configuration #pod information. The file is a simple set of names and values, as in the following #pod example: #pod #pod local: /home/rjbs/mirrors/minicpan/ #pod remote: http://your.favorite.cpan/cpan/ #pod exact_mirror: 1 #pod #pod C tries to find a configuration file through the following process. #pod It takes the first defined it finds: #pod #pod =over 4 #pod #pod =item * Use the value specified by C<-C> on the command line #pod #pod =item * Use the value in the C environment variable #pod #pod =item * Use F<~/.minicpanrc> #pod #pod =item * Use F #pod #pod =back #pod #pod If the selected file does not exist, C does not keep looking. #pod #pod You can override this process with a C method in your subclass. #pod #pod See C for a full listing of available options. #pod #pod =head1 TO DO #pod #pod Improve command-line options. #pod #pod =head1 SEE ALSO #pod #pod Randal Schwartz's original article, which can be found here: #pod #pod http://www.stonehenge.com/merlyn/LinuxMag/col42.html #pod #pod =cut