I'm helping plan inmprovements to a build & deploy system and am
wondering what people think is the "best practice" for handling
version control of locally-installed CPAN modules.
We have a bunch of code in version control (CVS now, moving to SVN soon)
We also have a large number of CPAN modules installed, for example:
PPI 1.110
Test::Assertions 1.051
Test::Harness 2.56
and we want to always install exactly those versions on new machines.
Currently we are evaluating these options:
1) Maintain a list of the .tar.gz files and install from CPAN,
for example M/MA/MATISSE/Text-TagTemplate-1.8.tar.gz
2) Put the CPAN .tar.gz files in a local CPAN repository and use
CPAN::Site to install - that way we *only* get the versions in
our local CPAN repository and dependencies are managed by the
module Makefile.PL / Build.PL scripts.
3) Put the .tar.gz files in our source-code control system, and checkout
and build each one during a release process.
4) Build these modules on one machine and check the *built* files into
out version control system (including *.so files - all our machines
are Solaris boxen)
What do other folks think?
-Matisse