++ed by:

1 PAUSE user(s)

Kenichi Ishigaki
and 1 contributors


make_ppm_bundle - make a bundle of ppm packages


   make_ppm_bundle [options] [Module | Distribution]


 [-z | --zip]              : make a zip distribution
 [-f | --force]            : force remaking a distribution
 [-i | --ignore]           : ignore any failing test results
 [ --skip]                 : skip running the tests
 [-b | --binary] location  : specify the binary location
 [-n | --arch_sub]         : use \$Config{archname} as a subdirectory
 [-s | --script] script    : specify a script in the <INSTALL> field
 [-e | --exec] exec        : specify the executable to run the <INSTALL> script
 [-x | --add] file         : add file to the archive
 [-o | --os] os            : use os for the <OS> field
 [-a | --arch] arch        : use arch for the <ARCHITECTURE> field
 [-v | --version]          : print version information and exit
 [-h | --help]             : print this help screen
 [-r | --remove]           : remove the build directory after installation
 [-p | --program]  b=a     : specify "a" to be used for the "b" program
 [-A | --as]               : add Perl version number to ARCHITECTURE (>= 5.8)
 [-V | --ppmv]             : add version string to ppd and archive filenames
 [ --ppd ]  location       : copy the ppd to the specified location
 [ --ar ]   location       : copy the archive file to the specified location
 [ --zip ]   location      : copy the zipped file to the specified location
 [ --host]  host           : use the specified host for copying the ppm files
 [ --user]  user           : username to use when transferring ppm files
 [ --passwd] password      : password associated with user
 [ --cpan ]                : make a CPAN distribution
 [ --no_case ]             : for module searches, ignore case
 [ --no-case ]             : for module searches, ignore case
 [ --no_cfg ]              : do not read a .ppmcfg configuration file
 [ --no-cfg ]              : do not read a .ppmcfg configuration file
 [ --vsr]                  : add version string to the archive filename
 [ --vsp]                  : add version string to the ppd filename
 [ --zipdist]              : create a zip file of the .ppd and .tar.gz files
 [ --no-ppm4]              : don't add ppm4 extensions to the ppd file
 [ --no-html]              : don't generate html documentation
 [ --no-remote-lookup]     : don't use external data sources for meta information
 [ --bundle_name ] name    : use the specified name as the bundle name
 [ --no-upload]            : don't upload individual ppm packages
 [ --clean ]               : remove the temporary build directory
 [ --reps ] http://rep.com : specify repositories to search for ppm packages

Additional Arguments:

   Module       : specify a module to fetch (requires CPAN.pm)
   Distribution : specify a distribution to fetch

With no arguments, make_ppm_bundle will build a bundle inside the current directory, which assumes this is a CPAN distribution.


make_ppm_bundle is an interface to the PPM::Make::Bundle module, bundled zip file of a package and all of it's required prerequisites. See PPM::Make::Bundle for further details.

Apart from the options described below, without any arguments make_ppm_bundle will assume it is inside an unpacked source distribution and make the corresponding distribution. If it is given an argument of what looks like a module name (eg, Net::FTP), it will use CPAN.pm to look up the corresponding distribution and fetch and build it. Otherwise, additional arguments (eg, package.tar.gz, or http://someplace.org/package.tar.gz) will be interpreted as distributions to fetch and build.

Options can be read from a configuration file .ppmcfg (see PPM::Make) and/or given as options to make_ppm_bundle, unless the no_cfg option is given. An example .ppmcfg file is

 host = me.wherever.ca
 user = me
 passwd = whatever
 [ MSWin32-x86-multi-thread-5.8 ]
 binary = http://me.wherever.ca/ppms/x86/
 ppd = /usr/local/httpd/htdocs/ppms/
 ar = /usr/local/httpd/htdocs/ppms/x86/
 zip = /usr/local/httpd/htdocs/ppms/zips
 zipdist = 1
 reps = <<END
 bundle = /usr/local/httpd/htdocs/ppms/bundles
 [ MSWin32-x86-multi-thread ]
 binary = http://me.wherever.ca/ppmpackages/x86/
 ppd = /usr/local/httpd/htdocs/ppmpackages/
 ar = /usr/local/httpd/htdocs/ppmpackages/x86/
 zip = /usr/local/httpd/htdocs/ppmpackages/zips
 zipdist = 1
 no_ppm4 = 1
 reps = <<END
 bundle = /usr/local/httpd/htdocs/ppmpackages/bundles

In case of duplicates, the options to make_ppm_bundle take precedence. Available options include those of PPM::Make, plus the following specific ones:

--bundle_name $bundle_name

This options specifes the name of the zip file containing all of the bundled ppm packages. If this is not specified, a default of Bundle-dist_name.zip will be used, where dist_name is the name of the main distribution being built.


By default, if a required package is built by PPM::Make, and if the configuration file specifies that such ppm packages are to be uploaded to a repository, this upload will take place. The no-upload option specifies that such individual package uploads not take place, although the bundled zip file will still be uploaded, if specified.

--reps http://some.host/path/to/ppms

This specifies a list of repositories to search for needed ppm packages. This option can be specified multiple times to specify a list of repsoitories.


The ppm packages are placed in a temporary directory for eventual inclusion in the zipped bundle file. The clean option specifies that this temporary directory be removed after the bundle file is built.


This prints out a short help screen and exits.


This prints out some version information and exits.


This program is copyright, 2006, by Randy Kobes <r.kobes@uwinnipeg.ca>. It is distributed under the same terms as Perl itself.


PPM::Make::Bundle, PPM::Make, and PPM.