NAME

mcpani -- A command line tool to manage a CPAN Mini Mirror.

SYNOPSIS

mcpani [options] < --add | --update | --mirror | --inject >

Commands:

--add               Add a new package to the repository
      --module      Name of the module to add
      --authorid    Author ID of the module
      --modversion  Version number of the module
      --file        tar.gz file of the module

--update            Update local CPAN mirror and inject modules
--mirror            Update local CPAN mirror from remote
--inject            Add modules from repository to CPAN mirror

Options:

-h, --help          This synopsis
-H, --man           Detailed description

-l, --local         local location for CPAN::Mini Mirror
-r, --remote        CPAN mirror to mirror from
-p, --passive       Enable passive ftp for mirroring.
-v, --verbose       verbose output
-V, --version       Version information.
    --signing-key   See CPAN::Checksums $SIGNING_KEY

DESCRIPTION

mcpani uses CPAN::Mini to build or update a local CPAN mirror from a remote one. It adds two extra features:

1. an additional repository of distribution files and related information (author and module versions), separate from the local and remote mirrors, to which you can add your own distribution files.

2. the ability to inject the distribution files from your repository into a local CPAN mirror.

COMMAND LINE OPTIONS

--add

Add a module to the repository for later inclusion in a CPAN Mini mirror. The add command requires the following parameters:

--module

This is the name of the module (ie CPAN::Mini::Inject).

--authorid

A CPAN 'like' author ID for the module. The author ID does not need to exist on CPAN.

--modversion

Version number of the module. This must match the version number in the file name.

--all-in-meta
--discover-packages

"add" in CPAN::Mini::Inject adds all modules found in the file. These options remain for backward compatibility and do nothing.

--file

File name and path of the module. The file name must follow the standard CPAN naming convention (the resulting file from a make tardist).

Example:

mcpani --add --module CPAN::Mini::Inject --authorid SSORICHE
       --modversion 0.01 --file ./CPAN-Mini-Inject-0.01.tar.gz

--update

Update your local CPAN Mini mirror from a CPAN site. Once completed add the modules contained in the repository to it. This is the same as running mcpani --mirror followed by mcpani --inject

--mirror

Update the local CPAN Mini mirror from CPAN.

--inject

Add the repository modules into the CPAN Mini mirror.

-l, --local

A local directory to store the CPAN Mini mirror in. Specifying this option overrides the value in the config file.

-r, --remote

A CPAN site to create the local CPAN Mini mirror from.

-v, --verbose

Display verbose processing information

-V, --version

Display version information.

CONFIGURATION FILE

mcpani uses a simple configuration file in the following format:

local: /www/CPAN
remote: ftp://ftp.cpan.org/pub/CPAN ftp://ftp.kernel.org/pub/CPAN
repository: /work/mymodules
passive: yes
dirmode: 0755

Description of options:

  • local

    location to store local CPAN::Mini mirror (*REQUIRED*)

  • remote

    CPAN site(s) to mirror from. Multiple sites can be listed, with spaces between them. (*REQUIRED*)

  • repository

    Location to store modules to add to the local CPAN::Mini mirror.

  • passive

    Enable passive FTP.

  • dirmode

    Set the permissions of created directories to the specified mode (octal value). The default value is based on the umask (if supported).

mcpani will search the following four places in order:

  • file pointed to by the environment variable MCPANI_CONFIG

  • $HOME/.mcpani/config

  • /usr/local/etc/mcpani

  • /etc/mcpani

AUTHOR

Shawn Sorichetti <ssoriche@coloredblocks.net>

BUGS

Report issues to the GitHub queue at

https://github.com/briandfoy/cpan-mini-inject/issues

Copyright & License

Copyright 2004 Shawn Sorichetti, All Rights Reserved.

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