


CPAN2DIST(1)     Perl Programmers Reference Guide    CPAN2DIST(1)


NAME
       cpan2dist - The CPANPLUS distribution creator

DESCRIPTION
       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
       specific documentation.

USAGE
        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.

       Options:

           ### 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,



perl v5.10.1                2010-03-17                          1





CPAN2DIST(1)     Perl Programmers Reference Guide    CPAN2DIST(1)


                         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.

       Examples:

           ### 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.



perl v5.10.1                2010-03-17                          2





CPAN2DIST(1)     Perl Programmers Reference Guide    CPAN2DIST(1)


           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

Built-In Filter Lists
       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.

       There may be a myriad of reasons. You can use the
       "--ignore" and "--ban" 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.

   Built-In Ignore List
       You can use this list of regexes to ignore modules
       matching to be listed as prerequisites of a package.
       Particulaly 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 altogether.

       Toggle it by supplying the "--default-banlist" option.




perl v5.10.1                2010-03-17                          3





CPAN2DIST(1)     Perl Programmers Reference Guide    CPAN2DIST(1)


           ^GD$                # Needs c libaries
           ^Berk.*DB           # DB packages require specific options & linking
           ^DBD::              # DBD drives 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

SEE ALSO
       CPANPLUS::Dist, CPANPLUS::Module,
       CPANPLUS::Shell::Default, "cpanp"

BUG REPORTS
       Please report bugs or other issues to
       <bug-cpanplus@rt.cpan.org<gt>.

AUTHOR
       This module by Jos Boumans <kane@cpan.org>.

COPYRIGHT
       The CPAN++ interface (of which this module is a part of)
       is copyright (c) 2001 - 2007, Jos Boumans <kane@cpan.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.10.1                2010-03-17                          4


