NAME
Perl::Repository::APC::BAP - Transform the argument to buildaperl
SYNOPSIS
use Perl::Repository::APC::BAP;
my $apc = Perl::Repository::APC->new("/path/to/APC");
my $bap = Perl::Repository::APC::BAP->new($apc);
my($baseperl,$nextperl,$firstpatch,$lastpatch,$dir) = $bap->translate("perl",...);
DESCRIPTION
The constructor new() takes a single argument, a Perl::Repository::APC object. The resulting object has the following methods:
translate($branch,$baseperl,$patchlevel)
translate($branch,$baseperl)
$branch is one of
perl
,maint-5.004
,maint-5.005
,maint-5.6
,maint-5.8
. $baseperl is the perl version we want as a base. $patchlevel is a patch number that must also be available in the local copy of APC.$branch is a mandatory argument. $baseperl may be undef and $patchlevel can be omitted. If $baseperl is undef and $patchlevel is given, translate() finds the proper version. If patch is omitted and $baseperl is given, translate() finds the most recent patch for that base. If both are omitted, translate() finds the newest values available for both version and patch for that branch. If both are given, translate() checks if the values are legal and dies if they aren't.
Five values are returned: the perl version we can use as a base, the "next" perl version that this patchset is running to, the first and the last patch number we want, and finally the directory where we find the patches. The directory was the same as the target perl version up to 5.8.0 but started to diverge from 5.8.1 and later. Please see bap.t for examples. Starting from 5.10.1. the directory may be one of these
living
directories that match^perl-.*-diffs$
. These directories do not contain a subdirectorydiffs
. Instead they contain the patches directly.
AUTHOR
Andreas Koenig <ANDK>
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html
SEE ALSO
Perl::Repository::APC, patchaperlup, buildaperl, binsearchaperl