On Fri, May 18, 2012 at 5:45 PM, Sisyphus <sisyph...@optusnet.com.au> wrote:
>
> ----- Original Message ----- From: "David Oswald"
>
>> Next: Dana identified that Inline will not install on Perl version
>> 5.8.0 or earlier.
>
>
> This is not quite correct.
> Digest::MD5 is core by the time 5.8.0 arrives. Later versions of Digest::MD5
> might be unbuildable on 5.8.0 but that doesn't matter, because the version
> of Digest::MD5 that ships with the 5.8.0 sources is fine for the purposes of
> Inline.
> Digest::MD5 was not core for 5.6, however. So there may be a problem there
> in that one cannot install the most recent version of Digest::MD5, and has
> to settle for an older version. My perl-5.6 has Digest-MD5-2.16, which is
> fine for Inline.
>
> Is there a way for a Makefile.PL to specify a *maximum* version for a
> dependency ?
> Currently the Inline Makefile.PL simply specifies a minimum version of 2.09.
>
> I guess it wouldn't hurt if the Inline Makefile.PL displayed a warning about
> this whenever it gets run on perl-5.6.
> Maybe this should also be mentioned in the docs.

You're right, the main issue is where 'v' is 5.6.0 <= v < 5.8.0.  If
there isn't an older version already installed, cpan/cpanm/cpanp will
pull in the latest, which won't install.

Though the Meta Specification (ExtUtils::Meta::Spec, I think) does
permit a maximum version, to my knowledge that feature isn't supported
by the various installers and MakeMakers.  I'm not sure for
Module::Install.  Anyway, that feature will eventually work, but at
the moment I don't think it does.

Maybe Makefile.PL could detect whether the Perl version number is
within the trouble-range, and if so, test whether or not D::MD5 is
installed.  If not, bail out with a diagnostic message stating that
D::MD5 version whatever must be installed manually before proceeding.

The issue with v5.8.0 is simply one of incompatibility with newer
D::MD5's.  But that's a non-issue, since it was bundled with the core
distribution.  If later versions are incompatible, they won't be
getting installed, and will never conflict.

So... unless D::MD5 gets patched we either need to detect and warn, or
abandon 5.6.x.  Detect and warn seems the lesser evil.


-- 

David Oswald
daosw...@gmail.com

Reply via email to