Subject: | "upgrade" is dangerous |
The "upgrade" command may install outdated distributions. This usually
can happen if modules vanish from distributions (which happens quite
often nowadays).
A user who runs "upgrade" could see output like this:
...
CHI 0.47 0.49 JSWARTZ/CHI-0.49.tar.gz
CHI::Serializer::JSON undef 0.43 JSWARTZ/CHI-0.43.tar.gz
CHI::Test::Class undef 0.39 JSWARTZ/CHI-0.39.tar.gz
...
I assume that CPAN.pm would install the distributions in order, so it
would install the newest 0.49, than the older 0.43, and then the even
older 0.39. So a user would get a quite old CHI distribution, and it
could happen that distributions depending on a newer version are broken now.
The "autobundle" command has a similar problem --- such a bundle must
not be reinstalled without removing the "dangerous" old distributions.
I have a script which uses some heuristics to find such dangerous
distributions:
https://github.com/eserte/cpan-testers-parallelsmoker/blob/master/utils/find_dangerous_cpan_distributions.pl
But I don't know what's the right approach to fix this. A possibility
would be that CPAN.pm includes similar code like in
find_dangerous_cpan_distributions. Or "dangerous" distributions could be
removed from the PAUSE index.
Regards,
Slaven