NAME

buildaperl - Build an arbitrary perl version from APC

SYNOPSIS

buildaperl 5.7.0@7100
buildaperl 5.8.0@
buildaperl @
buildaperl --h

DESCRIPTION

This script builds the sources for any perl version between 5.004 and bleadperl.

The --h option displays all available options.

The argument consists of PERL_VERSION@PATCHNUMBER. The @ is mandatory, both PERL_VERSION and PATCHNUMER are optional.

If PERL_VERSION is missing, the script picks the most recent version in the branch. If the PATCHNUMBER is missing, all available patches for a given base will be applied. There is one important restriction: the script can not iterate over more than one APC directory when patching. This means you cannot build 5.6.0@18000. If you want @18000, just specify @18000 as the argument. If the --branch argument and the version@patch argument do not fit together, buildaperl dies.

The most convenient setup to run this script is to start it in a directory that contains a single subdirectory: APC. APC should be a full or partial mirror (***partial mirror is untested***) of All Perl Changes . APC is located at

rsync://ftp.linux.activestate.com/all-of-the-APC-for-mirrors-only/

Beware that you will need about a gigabyte of storage if you want to rsync all of the archive.

Your working directory should be empty except for APC because it is also used to actually build the desired version. Buildaperl does rename these directories to

perl-X-PERL_VERSION@PATCHNUMBER (e.g. perl-p-5.7.2@15915)
     \ \            \
      \ \            `-> e.g. 15915
       \ `-> e.g. 5.7.2
        `-> either "p" for trunk or "m" for a maintenance branch

and lets these directories lying around (unless the --remo switch is used). This is not a bug, it's a feature: if buildaperl tries to build a perl that has already been built, it will recognize the fact from seeing the associated directory name. It builds a perl only if this directory does not yet exist, otherwise it will die.

Other files and directories will also be created by default, namely the directory to install all created perls into (unless the --noinstall option is given), installed-perls and if you use apc2svn, maybe also files created by makepatch.

PREREQUISITES

Same prerequisites as mentioned in patchaperlup.

AUTHOR

Andreas Koenig <andk@cpan.org>