Re: Digest::MD5 v2.51 breaks backward compatibility with Perl 5.6.0 through 5.8.0.

[email protected] ("Chris 'BinGOs' Williams")
Newsgroups perl.perl5.porters,perl.inline
Message-ID <[email protected]>
On Sat, May 19, 2012 at 04:25:23PM -0700, David Oswald wrote:
> I had a conscientious user of one of my modules send in a report
> which, after investigation, has led me here.
> 
> The module Digest::MD5 was added to the Perl core distribution in Perl
> 5.8.0.  That means that users committed to pre-5.8.0 versions of Perl
> will have to install Digest::MD5 if they need it.  However, as of
> version 2.51, Digest::MD5 is no longer backward compatible with Perls
> earlier than 5.8.1.  This isn't such a big deal for a user of 5.8.0,
> since it came with an older version of Digest::MD5.  But users of Perl
> versions earlier than 5.8.0 are forced to explicitly install an old
> Digest::MD5 version (2.40 or earlier).
> 
> The various CPAN installers (cpan, cpanm, cpanp) default to pulling in
> the most recent version of any module, and in the case of Digest::MD5,
> this means that the default behavior is to pull in a version that
> won't build on Perl's earlier than 5.8.1.
> 
> My user had an issue when trying to install one of my modules on Perl
> 5.6.x.  My module has a dependency that itself has a dependency on
> Digest::MD5.  My module claims to support Perl 5.6.x, which it does
> *if* the user explicitly installs an older version of Digest::MD5
> first.  Ideally this should be handled automatically... and even
> better would be if Digest::MD5 could be brought back to a state of
> backward compatibility.
> 
> The user who reported the issue did some investigative work and had
> this to say:
>     "...Digest::MD5 fails testing because it is using utf8::is_utf8
> without checking
>      the version (this was added in 5.8.1)."
> 
> I noticed that on the RT for the CPAN version of Digest::MD5 there are
> two patches that others have submitted that are intended to address
> this issue.  I haven't reviewed whether these patches would be
> effective or practical.
> 
> 
> In the specific case of my user, the user was trying to install
> Math::Prime::FastSieve, which has an Inline::CPP dependency, which has
> an Inline dependency, which has a Digest::MD5 dependency.  The user
> was trying to install on Perl 5.6.1.
> 
> I guess my question is "What has to happen next?"  :)
> 

I discovered this last year and made CPANPLUS (which supports v5.6.x) to
use Digest::SHA instead.

  Changes for 0.90_12     Sun Feb  6 19:48:49 2011
  ================================================
  * Remove more trailing whitespace spotted by Nicholas Clark
    with patch to fix, RT #64976
  * Added META.json and MYMETA.json support. Requires a more
    recent Parse::CPAN::Meta
  * Switch to Digest::SHA and SHA256 checksums instead of
    Digest::MD5 and MD5, which has dropped v5.6.x support.

I did have the luxury that PAUSE produces both MD5 and SHA256 checksums.

Cheers,

-- 
Chris Williams
aka BinGOs
PGP ID 0x4658671F
http://www.gumbynet.org.uk
==========================
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFPuDYk7eyMi0ZYZx8RAleEAJsHSy4w2CoKU18WQU+bJw+nNveiiwCdGiiU
RMt560XF8QgVARO4pavqLJ0=
=aBxf
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.