NAME
PAR::Dist::FromPPD - Create PAR distributions from PPD/PPM packages
SYNOPSIS
use PAR::Dist::FromPPD;
# Creates a .par distribution of the PAR module in the
# current directory based on the PAR.ppd file from the excellent
# bribes.org PPM repository.
ppd_to_par(uri => 'http://www.bribes.org/perl/ppm/PAR.ppd');
# You could download the .ppd and .tar.gz files first and then do:
ppd_to_par(uri => 'PAR.ppd', verbose => 1);
DESCRIPTION
This module creates PAR distributions from PPD XML documents which are used by ActiveState's "Perl Package Manager", short PPM.
It parses the PPD document to extract the required information and then uses PAR::Dist to create a .par archive from it.
Please note that this code works for me but hasn't been tested to full extent.
EXPORT
By default, the ppd_to_par
subroutine is exported to the callers namespace. get_ppd_content
will be exported on demand.
SUBROUTINES
This is a list of all public subroutines in the module.
ppd_to_par
The only mandatory parameter is an URI for the PPD file to parse.
Arguments:
uri => 'ftp://foo/bar' or 'file:///home/you/file.ppd', ...
out => 'directory' (write distribution files to this directory)
verbose => 1/0 (verbose mode on/off)
distname => Override the distribution name
distversion => Override the distribution version
perlversion => Override the distribution's (minimum?) perl version
arch => Override the distribution's target architecture
selectarch => Regular Expression.
selectperl => Regular Expression.
arch
may also be set to any_arch
and perlversion
may be set to any_version
.
If a regular expression is specified using selectarch
, that expression is matched against the architecture settings of each implementation. The first matching implementation is chosen. If none matches, the implementations are tried in order of appearance. Of course, this heuristic is applied before any architecture overriding via the arch
parameter is carried out.
selectperl
works the same as selectarch
, but operates on the (minimum) perl version of an implementation. If both selectperl
and selectarch
are present, selectperl
operates on the implementations matched by selectarch
. That means selectarch
takes precedence.
get_ppd_content
First argument must be an URI string for the PPD. (Supported are file://
URIs and whatever LWP supports.)
Fetches the PPD file and returns its contents as a string.
die()
s on error.
SEE ALSO
The PAR::Dist module is used to create .par distributions from an unpacked CPAN distribution. The CPAN module is used to fetch the distributions from the CPAN.
PAR has a mailing list, <par@perl.org>, that you can write to; send an empty mail to <par-subscribe@perl.org> to join the list and participate in the discussion.
Please send bug reports to <bug-par-dist-fromppd@rt.cpan.org>.
The official PAR website may be of help, too: http://par.perl.org
For details on the Perl Package Manager, please refer to ActiveState's website at http://activestate.com.
AUTHOR
Steffen Mueller, <smueller at cpan dot org>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Steffen Mueller
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6 or, at your option, any later version of Perl 5 you may have available.