CINXE.COM
cpan2dist - The CPANPLUS distribution creator - Perldoc Browser
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>cpan2dist - The CPANPLUS distribution creator - Perldoc Browser</title> <link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Perldoc Browser"> <link rel="canonical" href="https://perldoc.perl.org/cpan2dist"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/stackoverflow-light.min.css" integrity="sha512-cG1IdFxqipi3gqLmksLtuk13C+hBa57a6zpWxMeoY3Q9O6ooFxq50DayCdm0QrDgZjMUn23z/0PMZlgft7Yp5Q==" crossorigin="anonymous" /> <style> body { background: #f4f4f5; color: #020202; } .navbar-dark { background-image: -webkit-linear-gradient(top, #005f85 0, #002e49 100%); background-image: -o-linear-gradient(top, #005f85 0, #002e49 100%); background-image: linear-gradient(to bottom, #005f85 0, #002e49 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff005f85', endColorstr='#ff002e49', GradientType=0); background-repeat: repeat-x; } .navbar-dark .navbar-nav .nav-link, .navbar-dark .navbar-nav .nav-link:focus { color: #fff } .navbar-dark .navbar-nav .nav-link:hover { color: #ffef68 } #wrapperlicious { margin: 0 auto; font: 0.9em 'Helvetica Neue', Helvetica, sans-serif; font-weight: normal; line-height: 1.5em; margin: 0; padding: 0; } #wrapperlicious h1 { font-size: 1.5em } #wrapperlicious h2 { font-size: 1.3em } #wrapperlicious h3 { font-size: 1.1em } #wrapperlicious h4 { font-size: 0.9em } #wrapperlicious h1, #wrapperlicious h2, #wrapperlicious h3, #wrapperlicious h4, #wrapperlicious dt { color: #020202; margin-top: 1em; margin-bottom: 1em; position: relative; font-weight: bold; } #wrapperlicious a { color: inherit; text-decoration: underline } #wrapperlicious #toc { text-decoration: none } #wrapperlicious a:hover { color: #2a2a2a } #wrapperlicious a img { border: 0 } #wrapperlicious :not(pre) > code { color: inherit; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; font: 0.9em Consolas, Menlo, Monaco, monospace; padding: 0.3em; } #wrapperlicious dd { margin: 0; margin-left: 2em; } #wrapperlicious dt { color: #2a2a2a; font-weight: bold; margin-left: 0.9em; } #wrapperlicious p { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious li > p { margin-bottom: 0; margin-top: 0; } #wrapperlicious pre { border: 1px solid #c1c1c1; border-radius: 3px; font: 100% Consolas, Menlo, Monaco, monospace; margin-bottom: 1em; margin-top: 1em; } #wrapperlicious pre > code { display: block; background-color: #f6f6f6; font: 0.9em Consolas, Menlo, Monaco, monospace; line-height: 1.5em; text-align: left; white-space: pre; padding: 1em; } #wrapperlicious dl, #wrapperlicious ol, #wrapperlicious ul { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious ul { list-style-type: square; } #wrapperlicious ul ul { margin-bottom: 0px; margin-top: 0px; } #footer { font-size: 0.8em; padding-top: 0.5em; text-align: center; } #more { display: inline; font-size: 0.8em; } #perldocdiv { background-color: #fff; border: 1px solid #c1c1c1; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; margin-left: auto; margin-right: auto; padding: 3em; padding-top: 1em; max-width: 960px; } #moduleversion { float: right } #wrapperlicious .leading-notice { font-style: italic; padding-left: 1em; margin-top: 1em; margin-bottom: 1em; } #wrapperlicious .permalink { display: none; left: -0.75em; position: absolute; padding-right: 0.25em; text-decoration: none; } #wrapperlicious h1:hover .permalink, #wrapperlicious h2:hover .permalink, #wrapperlicious h3:hover .permalink, #wrapperlicious h4:hover .permalink, #wrapperlicious dt:hover .permalink { display: block; } </style> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-KVNWBNT5FB"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KVNWBNT5FB'); gtag('config', 'UA-50555-3'); </script> </head> <body> <nav class="navbar navbar-expand-md navbar-dark bg-dark justify-content-between"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <a class="navbar-brand" href="/"><img src="/images/perl_camel_30.png" width="30" height="30" class="d-inline-block align-top" alt="Perl Camel Logo"> Perldoc Browser</a> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-stable" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">5.16.1</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-stable"> <a class="dropdown-item" href="/cpan2dist">Latest</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.1/cpan2dist">5.40.1</a> <a class="dropdown-item" href="/5.40.0/cpan2dist">5.40.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.38.3/cpan2dist">5.38.3</a> <a class="dropdown-item" href="/5.38.2/cpan2dist">5.38.2</a> <a class="dropdown-item" href="/5.38.1/cpan2dist">5.38.1</a> <a class="dropdown-item" href="/5.38.0/cpan2dist">5.38.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.36.3/cpan2dist">5.36.3</a> <a class="dropdown-item" href="/5.36.2/cpan2dist">5.36.2</a> <a class="dropdown-item" href="/5.36.1/cpan2dist">5.36.1</a> <a class="dropdown-item" href="/5.36.0/cpan2dist">5.36.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.34.3/cpan2dist">5.34.3</a> <a class="dropdown-item" href="/5.34.2/cpan2dist">5.34.2</a> <a class="dropdown-item" href="/5.34.1/cpan2dist">5.34.1</a> <a class="dropdown-item" href="/5.34.0/cpan2dist">5.34.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.32.1/cpan2dist">5.32.1</a> <a class="dropdown-item" href="/5.32.0/cpan2dist">5.32.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.30.3/cpan2dist">5.30.3</a> <a class="dropdown-item" href="/5.30.2/cpan2dist">5.30.2</a> <a class="dropdown-item" href="/5.30.1/cpan2dist">5.30.1</a> <a class="dropdown-item" href="/5.30.0/cpan2dist">5.30.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.28.3/cpan2dist">5.28.3</a> <a class="dropdown-item" href="/5.28.2/cpan2dist">5.28.2</a> <a class="dropdown-item" href="/5.28.1/cpan2dist">5.28.1</a> <a class="dropdown-item" href="/5.28.0/cpan2dist">5.28.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.26.3/cpan2dist">5.26.3</a> <a class="dropdown-item" href="/5.26.2/cpan2dist">5.26.2</a> <a class="dropdown-item" href="/5.26.1/cpan2dist">5.26.1</a> <a class="dropdown-item" href="/5.26.0/cpan2dist">5.26.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.24.4/cpan2dist">5.24.4</a> <a class="dropdown-item" href="/5.24.3/cpan2dist">5.24.3</a> <a class="dropdown-item" href="/5.24.2/cpan2dist">5.24.2</a> <a class="dropdown-item" href="/5.24.1/cpan2dist">5.24.1</a> <a class="dropdown-item" href="/5.24.0/cpan2dist">5.24.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.22.4/cpan2dist">5.22.4</a> <a class="dropdown-item" href="/5.22.3/cpan2dist">5.22.3</a> <a class="dropdown-item" href="/5.22.2/cpan2dist">5.22.2</a> <a class="dropdown-item" href="/5.22.1/cpan2dist">5.22.1</a> <a class="dropdown-item" href="/5.22.0/cpan2dist">5.22.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.20.3/cpan2dist">5.20.3</a> <a class="dropdown-item" href="/5.20.2/cpan2dist">5.20.2</a> <a class="dropdown-item" href="/5.20.1/cpan2dist">5.20.1</a> <a class="dropdown-item" href="/5.20.0/cpan2dist">5.20.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.18.4/cpan2dist">5.18.4</a> <a class="dropdown-item" href="/5.18.3/cpan2dist">5.18.3</a> <a class="dropdown-item" href="/5.18.2/cpan2dist">5.18.2</a> <a class="dropdown-item" href="/5.18.1/cpan2dist">5.18.1</a> <a class="dropdown-item" href="/5.18.0/cpan2dist">5.18.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.16.3/cpan2dist">5.16.3</a> <a class="dropdown-item" href="/5.16.2/cpan2dist">5.16.2</a> <a class="dropdown-item active" href="/5.16.1/cpan2dist">5.16.1</a> <a class="dropdown-item" href="/5.16.0/cpan2dist">5.16.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.14.4/cpan2dist">5.14.4</a> <a class="dropdown-item" href="/5.14.3/cpan2dist">5.14.3</a> <a class="dropdown-item" href="/5.14.2/cpan2dist">5.14.2</a> <a class="dropdown-item" href="/5.14.1/cpan2dist">5.14.1</a> <a class="dropdown-item" href="/5.14.0/cpan2dist">5.14.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.12.5/cpan2dist">5.12.5</a> <a class="dropdown-item" href="/5.12.4/cpan2dist">5.12.4</a> <a class="dropdown-item" href="/5.12.3/cpan2dist">5.12.3</a> <a class="dropdown-item" href="/5.12.2/cpan2dist">5.12.2</a> <a class="dropdown-item" href="/5.12.1/cpan2dist">5.12.1</a> <a class="dropdown-item" href="/5.12.0/cpan2dist">5.12.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.10.1/cpan2dist">5.10.1</a> <a class="dropdown-item" href="/5.10.0/cpan2dist">5.10.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.8.9/cpan2dist">5.8.9</a> <a class="dropdown-item" href="/5.8.8/cpan2dist">5.8.8</a> <a class="dropdown-item" href="/5.8.7/cpan2dist">5.8.7</a> <a class="dropdown-item" href="/5.8.6/cpan2dist">5.8.6</a> <a class="dropdown-item" href="/5.8.5/cpan2dist">5.8.5</a> <a class="dropdown-item" href="/5.8.4/cpan2dist">5.8.4</a> <a class="dropdown-item" href="/5.8.3/cpan2dist">5.8.3</a> <a class="dropdown-item" href="/5.8.2/cpan2dist">5.8.2</a> <a class="dropdown-item" href="/5.8.1/cpan2dist">5.8.1</a> <a class="dropdown-item" href="/5.8.0/cpan2dist">5.8.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.2/cpan2dist">5.6.2</a> <a class="dropdown-item" href="/5.6.1/cpan2dist">5.6.1</a> <a class="dropdown-item" href="/5.6.0/cpan2dist">5.6.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.005_04/cpan2dist">5.005_04</a> <a class="dropdown-item" href="/5.005_03/cpan2dist">5.005_03</a> <a class="dropdown-item" href="/5.005_02/cpan2dist">5.005_02</a> <a class="dropdown-item" href="/5.005_01/cpan2dist">5.005_01</a> <a class="dropdown-item" href="/5.005/cpan2dist">5.005</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-dev" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dev</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-dev"> <a class="dropdown-item" href="/blead/cpan2dist">blead</a> <a class="dropdown-item" href="/5.41.10/cpan2dist">5.41.10</a> <a class="dropdown-item" href="/5.41.9/cpan2dist">5.41.9</a> <a class="dropdown-item" href="/5.41.8/cpan2dist">5.41.8</a> <a class="dropdown-item" href="/5.41.7/cpan2dist">5.41.7</a> <a class="dropdown-item" href="/5.41.6/cpan2dist">5.41.6</a> <a class="dropdown-item" href="/5.41.5/cpan2dist">5.41.5</a> <a class="dropdown-item" href="/5.41.4/cpan2dist">5.41.4</a> <a class="dropdown-item" href="/5.41.3/cpan2dist">5.41.3</a> <a class="dropdown-item" href="/5.41.2/cpan2dist">5.41.2</a> <a class="dropdown-item" href="/5.41.1/cpan2dist">5.41.1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.1-RC1/cpan2dist">5.40.1-RC1</a> <a class="dropdown-item" href="/5.40.0-RC2/cpan2dist">5.40.0-RC2</a> <a class="dropdown-item" href="/5.40.0-RC1/cpan2dist">5.40.0-RC1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.39.10/cpan2dist">5.39.10</a> <a class="dropdown-item" href="/5.39.9/cpan2dist">5.39.9</a> <a class="dropdown-item" href="/5.39.8/cpan2dist">5.39.8</a> <a class="dropdown-item" href="/5.39.7/cpan2dist">5.39.7</a> <a class="dropdown-item" href="/5.39.6/cpan2dist">5.39.6</a> <a class="dropdown-item" href="/5.39.5/cpan2dist">5.39.5</a> <a class="dropdown-item" href="/5.39.4/cpan2dist">5.39.4</a> <a class="dropdown-item" href="/5.39.3/cpan2dist">5.39.3</a> <a class="dropdown-item" href="/5.39.2/cpan2dist">5.39.2</a> <a class="dropdown-item" href="/5.39.1/cpan2dist">5.39.1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.38.3-RC1/cpan2dist">5.38.3-RC1</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-nav" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Documentation</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-nav"> <a class="dropdown-item" href="/5.16.1/perl">Perl</a> <a class="dropdown-item" href="/5.16.1/perlintro">Intro</a> <a class="dropdown-item" href="/5.16.1/perl#Tutorials">Tutorials</a> <a class="dropdown-item" href="/5.16.1/perlfaq">FAQs</a> <a class="dropdown-item" href="/5.16.1/perl#Reference-Manual">Reference</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.16.1/perlop">Operators</a> <a class="dropdown-item" href="/5.16.1/functions">Functions</a> <a class="dropdown-item" href="/5.16.1/variables">Variables</a> <a class="dropdown-item" href="/5.16.1/modules">Modules</a> <a class="dropdown-item" href="/5.16.1/perlutil">Utilities</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.16.1/perldelta">Release Notes</a> <a class="dropdown-item" href="/5.16.1/perlcommunity">Community</a> <a class="dropdown-item" href="/5.16.1/perlhist">History</a> </div> </li> </ul> <ul class="navbar-nav"> <script> function set_expand (expand) { var perldocdiv = document.getElementById('perldocdiv'); var width = window.getComputedStyle(perldocdiv).getPropertyValue('max-width'); var expanded = (width == '' || width == 'none') ? true : false; if (expand === null) { expand = !expanded; } if ((expand && !expanded) || (!expand && expanded)) { perldocdiv.style.setProperty('max-width', expand ? 'none' : '960px'); var button_classlist = document.getElementById('content-expand-button').classList; if (expand) { button_classlist.add('btn-light'); button_classlist.remove('btn-outline-light'); } else { button_classlist.add('btn-outline-light'); button_classlist.remove('btn-light'); } } return expand; } function toggle_expand () { var expand = set_expand(null); document.cookie = 'perldoc_expand=' + (expand ? 1 : 0) + '; path=/; expires=Tue, 19 Jan 2038 03:14:07 UTC'; } function read_expand () { return document.cookie.split(';').some(function (item) { return item.indexOf('perldoc_expand=1') >= 0 }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function () { if (read_expand()) { set_expand(true); } }); } else if (read_expand()) { set_expand(true); } </script> <button id="content-expand-button" type="button" class="btn btn-outline-light d-none d-lg-inline-block mr-4" onclick="toggle_expand()">Expand</button> </ul> <form class="form-inline" method="get" action="/5.16.1/search"> <input class="form-control mr-3" type="search" name="q" placeholder="Search" aria-label="Search" value=""> </form> </div> </nav> <div id="wrapperlicious" class="container-fluid"> <div id="perldocdiv"> <div id="links"> <a href="/5.16.1/cpan2dist">cpan2dist</a> <div id="more"> (<a href="/5.16.1/cpan2dist.txt">source</a>, <a href="https://metacpan.org/pod/cpan2dist">CPAN</a>) </div> </div> <div class="leading-notice"> You are viewing the version of this documentation from Perl 5.16.1. <a href="/cpan2dist">View the latest version</a> </div> <h1><a id="toc">CONTENTS</a></h1> <ul> <li> <a class="text-decoration-none" href="#NAME">NAME</a> </li> <li> <a class="text-decoration-none" href="#DESCRIPTION">DESCRIPTION</a> </li> <li> <a class="text-decoration-none" href="#USAGE">USAGE</a> </li> <li> <a class="text-decoration-none" href="#Built-In-Filter-Lists">Built-In Filter Lists</a> <ul> <li> <a class="text-decoration-none" href="#Built-In-Ignore-List">Built-In Ignore List</a> </li> <li> <a class="text-decoration-none" href="#Built-In-Ban-list">Built-In Ban list</a> </li> </ul> </li> <li> <a class="text-decoration-none" href="#SEE-ALSO">SEE ALSO</a> </li> <li> <a class="text-decoration-none" href="#BUG-REPORTS">BUG REPORTS</a> </li> <li> <a class="text-decoration-none" href="#AUTHOR">AUTHOR</a> </li> <li> <a class="text-decoration-none" href="#COPYRIGHT">COPYRIGHT</a> </li> </ul> <h1 id="NAME"><a class="permalink" href="#NAME">#</a>NAME</h1> <p>cpan2dist - The CPANPLUS distribution creator</p> <h1 id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">#</a>DESCRIPTION</h1> <p>This script will create distributions of <code>CPAN</code> modules of the format you specify, including its prerequisites. These packages can then be installed using the corresponding package manager for the format.</p> <p>Note, you can also do this interactively from the default shell, <code>CPANPLUS::Shell::Default</code>. See the <code>CPANPLUS::Dist</code> documentation, as well as the documentation of your format of choice for any format specific documentation.</p> <h1 id="USAGE"><a class="permalink" href="#USAGE">#</a>USAGE</h1> <pre><code class="plaintext">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.</code></pre> <p>Options:</p> <pre><code class="plaintext">### 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 May be given multiple times. --ignore Patterns of modules to exclude from prereq list. Useful for when a prereq listed by a CPAN module is resolved in another way than from its corresponding CPAN package (Match is done on both module name, and package name of the package the module is in, case-insensitive) --ignorelist File containing patterns that may be given to --ignore. Are appended to the ban list built up by --ignore. May be given multiple times. --modulelist File containing a list of modules that should be built. Are appended to the list of command line modules. May be given multiple times. --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 supported options. --set-program Change any programs as specified in your config for this invocation only. See CPANPLUS::Config for a list of supported programs. --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.</code></pre> <p>Examples:</p> <pre><code class="plaintext">### 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 --makefile --defaults ### pass arbitrary options to the format's prepare()/create() routine cpan2dist --dist-opts deb_version=3 --dist-opts prefix=corp</code></pre> <h1 id="Built-In-Filter-Lists"><a class="permalink" href="#Built-In-Filter-Lists">#</a><a id="Built"></a>Built-In Filter Lists</h1> <p>Some modules you'd rather not package. Some because they are part of core-perl and you dont want a new package. Some because they won't build on your system. Some because your package manager of choice already packages them for you.</p> <p>There may be a myriad of reasons. You can use the <code>--ignore</code> and <code>--ban</code> options for this, but we provide some built-in lists that catch common cases. You can use these built-in lists if you like, or supply your own if need be.</p> <h2 id="Built-In-Ignore-List"><a class="permalink" href="#Built-In-Ignore-List">#</a><a id="Built1"></a>Built-In Ignore List</h2> <p>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.</p> <p>Toggle it by supplying the <code>--default-ignorelist</code> option.</p> <pre><code class="plaintext">^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</code></pre> <h2 id="Built-In-Ban-list"><a class="permalink" href="#Built-In-Ban-list">#</a><a id="Built2"></a>Built-In Ban list</h2> <p>You can use this list of regexes to disable building of these modules altogether.</p> <p>Toggle it by supplying the <code>--default-banlist</code> option.</p> <pre><code class="plaintext">^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</code></pre> <h1 id="SEE-ALSO"><a class="permalink" href="#SEE-ALSO">#</a><a id="SEE"></a>SEE ALSO</h1> <p><a href="/5.16.1/CPANPLUS::Dist">CPANPLUS::Dist</a>, <a href="/5.16.1/CPANPLUS::Module">CPANPLUS::Module</a>, <a href="/5.16.1/CPANPLUS::Shell::Default">CPANPLUS::Shell::Default</a>, <code>cpanp</code></p> <h1 id="BUG-REPORTS"><a class="permalink" href="#BUG-REPORTS">#</a><a id="BUG"></a>BUG REPORTS</h1> <p>Please report bugs or other issues to <bug-cpanplus@rt.cpan.org<gt>.</p> <h1 id="AUTHOR"><a class="permalink" href="#AUTHOR">#</a>AUTHOR</h1> <p>This module by Jos Boumans <kane@cpan.org>.</p> <h1 id="COPYRIGHT"><a class="permalink" href="#COPYRIGHT">#</a>COPYRIGHT</h1> <p>The CPAN++ interface (of which this module is a part of) is copyright (c) 2001 - 2007, Jos Boumans <kane@cpan.org>. All rights reserved.</p> <p>This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.</p> </div> <div id="footer"> <p>Perldoc Browser is maintained by Dan Book (<a href="https://metacpan.org/author/DBOOK">DBOOK</a>). Please contact him via the <a href="https://github.com/Grinnz/perldoc-browser/issues">GitHub issue tracker</a> or <a href="mailto:dbook@cpan.org">email</a> regarding any issues with the site itself, search, or rendering of documentation.</p> <p>The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the <a href="https://github.com/Perl/perl5/issues">Perl issue tracker</a>, the <a href="https://lists.perl.org/list/perl5-porters.html">mailing list</a>, or <a href="https://kiwiirc.com/client/irc.perl.org/p5p">IRC</a> to report any issues with the contents or format of the documentation.</p> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js" integrity="sha512-/DXTXr6nQodMUiq+IUJYCt2PPOUjrHJ9wFrqpJ3XkgPNOZVfMok7cRw6CSxyCQxXn6ozlESsSh1/sMCTF1rL/g==" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js" integrity="sha512-ubuT8Z88WxezgSqf3RLuNi5lmjstiJcyezx34yIU2gAHonIi27Na7atqzUZCOoY4CExaoFumzOsFQ2Ch+I/HCw==" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script> <script src="/js/highlight.pack.js"></script> <script>hljs.highlightAll();</script> </body> </html>