* Daniel Carrera (daniel.carr...@theingots.org) [090528 21:46]: > use Whiteness:from<perl5 Acme::Bleach 1.12 cpan:DCONWAY>; > So we have to give some thought to how the modules are going to be > stored in the system.
Actually, I have made some progress to implement this for Perl5. The problem is that you need parallel trees of the same version. So naturally you get something like: /usr/lib/perl5.10.1/File-Slurp-0.98/File/Slurp.pm /usr/lib/perl5.10.1/File-Slurp-0.99/File/Slurp.pm And put the right File-Slurp-0.9[89] in your INC path. Even: we can just untar the distribution on that spot, run make, and then use the blib tree in the INC path. But what is the right version? One of the problems companies often have, is that they have a stable system with perl applications. Then, they add a new application which requires newer versions of modules which are already in use. By upgrading, they may break their stable code. So, I came up with the idea to have a index file of used module versions per script. It defines which distributions are used for that script. The first time you run the script, it collects all the newest distribution versions and "freezes" that list for all next runs. The list of newest modules, as is used in the initial run of a script, only accepts a new version if the tests succeed and also all the tests from modules which depend on that have been re-run successfully. The index file also solves the performance hazard of scanning huge INC paths, which makes runtime look-up for module locations slow. I have started to implement above as part of CPAN::Site for Perl5, more as feasability study. Not releasable yet. Quite straight forward with an INC code-hook. -- MarkOv ------------------------------------------------------------------------ Mark Overmeer MSc MARKOV Solutions m...@overmeer.net soluti...@overmeer.net http://Mark.Overmeer.net http://solutions.overmeer.net