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