On Sat, Aug 8, 2009 at 10:44 AM, Elliot Shank<p...@galumph.com> wrote: > Attempting to install Perl::Critic 1.102 via CPANPLUS from 5.10.1-RC1 fails > due to what CPANPLUS is doing with the Module::Build mention in > configure_requires. This version of P::C was built with perl 5.10.0 and > M::B 0.34_02 (the same one included in 5.10.1). M::B puts its own version > into configure_requires. I've got CPANPLUS pointed at a minicpan, which, > obviously, only includes M::B 0.34. Despite already having the correct > version of M::B already installed, CPANPLUS refuses to install P::C. > Important part of the CPANPLUS output:
So that's three separate issues: (1) CPANPLUS checks for a dependency against its CPAN index, not against what is actually installed (2) Module::Build adds the author's $VERSION of M::B to configure_requires if M::B is not already specified explicitly. This is a problem if $VERSION is a dev version that won't be indexed on CPAN because it can never be resolved by CPAN/CPANPLUS anyway. (3) You built and released a non-dev Perl::Critic using a dev Module::Build #1 is obviously bad and needs to be fixed. #3 is... um... unwise. I'll leave it at that, but appreciate your vote of confidence in M::B dev releases. ;-) For #2, I think we should change M::B to do either one of these: (a) specify Module::Build version 0 in configure_requires if not specified (b) specify the last major release of M::B by truncating to 2 decimal places (e.g. 0.34) My preference is (b) as it should help ensure API/feature compatibility and is sure to be indexed, but I'd like to hear from others before I JFDI. -- David