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

Reply via email to