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

Reply via email to