Subject: | CPAN install thrashes due to obsoleted packages or regressed versions |
After installing 5.12.1 I decided to refresh all modules previously
installed, by using old Bundle::Snapshot_* files
When using one that had CPAN::DeferedCode listed in it,
CPAN would alternately install 1.93?? and 1.9402,
apparently because that package had been dropped from the dist,
so reinstalling it meant reinstalling the older dist.
I 'confirmed' this by editing out the single line,
and rerunning the install, no reinstalls happened thereafter.
This also occurs with CPANPLUS, apparently because several
packages have lost their VERSION numbers:
[jimc@harpo Bundle]$ diff Snapshot_2010_05_22_0[67]*
...
15c15
< perl -MCPAN -e 'install Bundle::Snapshot_2010_05_22_06'
---
Show quoted text
> perl -MCPAN -e 'install Bundle::Snapshot_2010_05_22_07'
143c143
< CPANPLUS 0.84
---
Show quoted text> CPANPLUS 0.9004
1927c1927
< CPANPLUS::Dist::Base 0.01
---
Show quoted text> CPANPLUS::Dist::Base undef
1939c1939
< CPANPLUS::Internals::Constants 0.01
---
Show quoted text> CPANPLUS::Internals::Constants undef
1941c1941
< CPANPLUS::Internals::Constants::Report 0.01
---
Show quoted text> CPANPLUS::Internals::Constants::Report undef
It would be wonderful if newer-package determination
were gated with newer-distro, it would fix both
these problems, and give convergence when re-installing
Bundles.
Since authors typically just drop obsolete packages
from the distro, it would be fair to just use newer-distro
criterion directly, perhaps making newer-package
a configurable (non-default) option.
Also, having both would provide means of detecting obsolete
packages, allowing them to be reported, and possibly removed.
[jimc@harpo lib]$ uname -a
Linux harpo.jimc.earth 2.6.32.12-115.fc12.i686 #1 SMP Fri Apr 30
20:34:53 UTC 2010 i686 i686 i386 GNU/Linux
[jimc@harpo lib]$ perl -v
This is perl 5, version 12, subversion 1 (v5.12.1) built for i686-linux
Copyright 1987-2010, Larry Wall