Pinto icon indicating copy to clipboard operation
Pinto copied to clipboard

Conflict between JPEACOCK/version and BINGOS/ExtUtils-MakeMaker

Open gmarler opened this issue 9 years ago • 15 comments

Seeing this interesting conflict between JPEACOCK/version-0.9912 and BINGOS/ExtUtils-MakeMaker-7.04 - you can only pull one or the other into a stack at any given time; for instance:

Pulling target Pinto==0.09997 to stack 20150416 Descending into prerequisites for THALJEF/Pinto-0.09997.tar.gz Downgrading package JPEACOCK/version-0.9912/version~0.9912 to BINGOS/ExtUtils-MakeMaker-7.04/version~0 on stack 20150416

And of course, vice versa, when ExtUtils::MakeMaker is explicitly needed.

Anything I can do to get more details on what's causing this conflict?

gmarler avatar Apr 21 '15 19:04 gmarler

Pinto thinks both dists have a version package. But it looks to me like one is actually called ExtUtils::MakeMaker::version. So this appears to be a bug in Pinto.

thaljef avatar Apr 21 '15 20:04 thaljef

This bit me about a month ago, didn't have time to figure out the issue. Then it just happened again.

bluefeet avatar Apr 23 '15 20:04 bluefeet

This started happening sometime since v6.98. Here's the diff: https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/compare/v6.98...v7.00

(aka installing 6.98 does not remove version, but installing 7.00 does)

bluefeet avatar Apr 23 '15 20:04 bluefeet

Lots of version-module related changes in that diff. But nothing seems terribly off to me, although it is a lot to digest and I could have easily missed something.

bluefeet avatar Apr 23 '15 20:04 bluefeet

About once a week this bites someone at work. I think I'm just going to hack the pinto script to detect to issue and force-pull version afterwards if it sees the issue until this is fixed.

bluefeet avatar Jul 06 '15 19:07 bluefeet

I figured this out. Module::Metadata sees that $version::VERSION is assigned in ExtUtils/MakeMaker/version.pm which leads it to conclude that the file provides a version package. This has been discussed and it appears that @karenetheridge is working to resolve it.

For now, I'm going to hack around it in Pinto, just as we do for other oddities like common::sense.

thaljef avatar Aug 12 '15 02:08 thaljef

ah yes, this old beauty again... I will redouble my efforts to clear away the blockers in Module-Metadata so I can get a fix out.

karenetheridge avatar Aug 12 '15 03:08 karenetheridge

We upgraded Pinto a couple weeks ago (0.11) and are still encountering this issue on a regular basis. :(

bluefeet avatar Sep 09 '15 18:09 bluefeet

@thaljef could you mark it as not closed since we can't?

frioux avatar Sep 10 '15 21:09 frioux

I suspect this is because you've already pulled the problematic dists into your repo, so my patch doesn't really help you. What you need is a way to "fix" a distribution that's already been pulled. Sorta like re-indexing.

thaljef avatar Sep 10 '15 23:09 thaljef

This should be fixed in Module::Metadata 1.000028-TRIAL.

karenetheridge avatar Sep 11 '15 22:09 karenetheridge

That update to Module::Metadata does indeed seem to fix the problem.

gmarler avatar Sep 30 '15 15:09 gmarler

Hooray! I'm going to put Module::Metadata into blead and let it smoke there in the next perl release (5.23.4), and then if all looks good it will go stable sometime after that.

karenetheridge avatar Sep 30 '15 17:09 karenetheridge

@karenetheridge it looks like the change did make it into perl 5.24.0 as Module::Metadata 1.000031 (thank you!). However, it's only available on CPAN in a TRIAL distribution. So folks can't upgrade without upgrading perl entirely. Is it possible to make a non-trial release of Module-Metadata?

thaljef avatar Jul 16 '16 21:07 thaljef

ok, Module-Metadata-1.000033 is released!

karenetheridge avatar Jul 24 '16 23:07 karenetheridge