This script will create distributions of "CPAN" modules of the format
you specify, including its prerequisites. These packages can then be
installed using the corresponding package manager for the format.
Note, you can also do this interactively from the default shell,
"CPANPLUS::Shell::Default". See the "CPANPLUS::Dist" documentation, as
well as the documentation of your format of choice for any format
Usage: cpan2dist [--format FMT] [OPTS] Mod::Name [Mod::Name, ...]
cpan2dist [--format FMT] [OPTS] --modulelist /tmp/mods.list
cpan2dist [--format FMT] [OPTS] --archive /tmp/dist [/tmp/dist2]
Will create a distribution of type FMT of the modules
specified on the command line, and all their prerequisites.
Can also create a distribution of type FMT from a local
archive and all of its prerequisites.
### take no argument:
--help Show this help message
--install Install this package (and any prerequisites you built)
after building it.
--skiptest Skip tests. Can be negated using --noskiptest
--force Force operation. Can be negated using --noforce
--verbose Be verbose. Can be negated using --noverbose
--keepsource Keep sources after building distribution. Can be
negated by --nokeepsource. May not be supported
by all formats
--makefile Prefer Makefile.PL over Build.PL. Can be negated
using --nomakefile. Defaults to your config setting
--buildprereq Build packages of any prerequisites, even if they are
already uptodate on the local system. Can be negated
using --nobuildprereq. Defaults to false.
--archive Indicate that all modules listed are actually archives
--flushcache Update CPANPLUS' cache before commencing any operation
--defaults Instruct ExtUtils::MakeMaker and Module::Build to use
default answers during 'perl Makefile.PL' or 'perl
Build.PL' calls where possible
--edit-metafile Edit the distributions metafile(s) before the distribution
is built. Requires a configured editor.
### take argument:
--format Installer format to use (defaults to config setting)
--ban Patterns of module names to skip during installation,
case-insensitive (affects prerequisites too)
May be given multiple times
--banlist File containing patterns that could be given to --ban
Are appended to the ban list built up by --ban
--logfile File to log all output to. By default, all output goes
to the console.
--timeout The allowed time for buliding a distribution before
aborting. This is useful to terminate any build that
hang or happen to be interactive despite being told not
to be. Defaults to 300 seconds. To turn off, you can
set it to 0.
--set-config Change any options as specified in your config for this
invocation only. See CPANPLUS::Config for a list of
--set-program Change any programs as specified in your config for this
invocation only. See CPANPLUS::Config for a list of
--dist-opts Arbitrary options passed along to the chosen installer
format's prepare()/create() routine. Please see the
documentation of the installer of your choice for
options it accepts.
### builtin lists
--default-banlist Use our builtin banlist. Works just like --ban
and --banlist, but with pre-set lists. See the
"Builtin Lists" section for details.
--default-ignorelist Use our builtin ignorelist. Works just like
--ignore and --ignorelist but with pre-set lists.
See the "Builtin Lists" section for details.
### build a debian package of DBI and its prerequisites,
### don't bother running tests
cpan2dist --format CPANPLUS::Dist::Deb --buildprereq --skiptest DBI
### build a debian package of DBI and its prerequisites and install them
cpan2dist --format CPANPLUS::Dist::Deb --buildprereq --install DBI
### Build a package, whose format is determined by your config, of
### the local tarball, reloading cpanplus' indices first and using
### the tarballs Makefile.PL if it has one.
cpan2dist --makefile --flushcache --archive /path/to/Cwd-1.0.tgz
### build a package from Net::FTP, but dont build any packages or
### dependencies whose name match 'Foo', 'Bar' or any of the
### patterns mentioned in /tmp/ban
cpan2dist --ban Foo --ban Bar --banlist /tmp/ban Net::FTP
### build a package from Net::FTP, but ignore its listed dependency
### on IO::Socket, as it's shipped per default with the OS we're on
cpan2dist --ignore IO::Socket Net::FTP
### building all modules listed, plus their prerequisites
cpan2dist --ignorelist /tmp/modules.ignore --banlist /tmp/modules.ban
--modulelist /tmp/modules.list --buildprereq --flushcache
your own if need be.
Built-In Ignore List
You can use this list of regexes to ignore modules matching to be
listed as prerequisites of a package. Particularly useful if they are
bundled with core-perl anyway and they have known issues building.
Toggle it by supplying the "--default-ignorelist" option.
^IO$ # Provided with core anyway
^Cwd$ # Provided with core anyway
^File::Spec # Provided with core anyway
^Config$ # Perl's own config, not shipped separately
^ExtUtils::MakeMaker$ # Shipped with perl, recent versions
# have bug 14721 (see rt.cpan.org)
^ExtUtils::Install$ # Part of of EU::MM, same reason
Built-In Ban list
You can use this list of regexes to disable building of these modules
Toggle it by supplying the "--default-banlist" option.
^GD$ # Needs c libaries
^Berk.*DB # DB packages require specific options & linking
^DBD:: # DBD drivers require database files/headers
^XML:: # XML modules usually require expat libraries
Apache # These usually require apache libraries
SSL # These usually require SSL certificates & libs
Image::Magick # Needs ImageMagick C libraries
Mail::ClamAV # Needs ClamAV C Libraries
^Verilog # Needs Verilog C Libraries
^Authen::PAM$ # Needs PAM C libraries & Headers
CPANPLUS::Dist, CPANPLUS::Module, CPANPLUS::Shell::Default, "cpanp"
Please report bugs or other issues to <firstname.lastname@example.org<gt>.
This module by Jos Boumans <email@example.com>.
The CPAN++ interface (of which this module is a part of) is copyright
(c) 2001 - 2007, Jos Boumans <firstname.lastname@example.org>. All rights reserved.
This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
perl v5.18.2 2017-11-10 CPAN2DIST(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2018
All Rights Reserved.