Bringing Old Modules Up To Modern Specification

While working on Pinto, I discovered that a fair number of distributions on CPAN have invalid or incomplete metadata. This makes it hard for the toolchain (Pinto especially) to fully utilize them.

Usually the offenses are pretty minor -- misspelled or missing keys in the META files, or a non-parsable version number. Some of us have probably made local patches of these distributions to fix those problems. But there's no reason everyone should have to do it.

So I had an idea -- what if there was a secondary public CPAN where folks could contribute patched versions of these older distributions? Read the rest of the story here:

https://github.com/Stratopan/Patchpan/blob/master/README.md

7 Comments

I like this idea. Anything to improve the quality of CPAN without breaking the community of CPAN is a good thing.

Are there going to be more than one patch per dist? Could the patch consist only of the META.{yml/json} file instead of the entire dist? Might make it easier for authors to accept the change to their meta file. Would adding Cpanfile be a good thing for those modules that don't specify all their dependencies or recommendations?

My dream job would be to fix these sorts of things in CPAN. I should get back to that with the MyCPAN stuff.

CPAN.pm has an interesting and very powerful way to deal with this and Andreas seems to know just about every oddity in every module ever released. The distroprefs feature has a way to patch distributions on the fly, and well as do many other things that make it possible for CPAN.pm to install things most other clients would barf on.

Well, "job" is the key part there. That's how I'd like to make money. So far no one is paying for that sort of thing.

How many of those dists are the latest releases? Ideally the original authors should fix and re-release.. which many would do if they were informed of the issue.

Scripting up an email to send to bug-$dist@rt.cpan.org would be straight-forward.

Leave a comment

About Jeffrey Ryan Thalhammer

user-pic Hacker, speaker, author, dad.