PPM::Make::Bundle - make a bundle of ppm packages


  my $bundle = PPM::Make::Bundle->new(%opts);


PPM::Make::Bundle is used to build a bundled zip file of a package and all of it's required prerequisites. It will first search through a list of specified repositories to see if a required package is present there, and if not, will use PPM::Make to build one. See PPM::Make for a discussion of details on how the ppm package is built, as well as the available options. The bundled zip file will be placed in the current directory from where it is invoked, unless a bundle key to upload of PPM::Make specifies where to upload bundled files.

The options accepted for PPM::Make::Bundle include those of PPM::Make. If a dist option is not given, it will be assumed that one is in a valid CPAN distribution directory, and attempt to build a zipped bundle file based on that distribution. Additional options specific to PPM::Make::Bundle are

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 will be used, where dist_name is the name of the main distribution being built.

no_upload => 1

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 => \@repositories

This specifies a list of repositories to search for needed ppm packages.

clean => 1

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.


The needed prerequisites will be followed recursively; however, for packages built with PPM::Make, the tests will be run before this has taken place, which probably will result in build failures. Future versions will address this problem. In the meantime, you may want to use the ignore option, to ignore failing tests, or the skip option, to skip running the tests.


This program is copyright 2006 by Randy Kobes <>. It is distributed under the same terms as Perl itself.


PPM::Make and PPM.