Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

What key name is appropriate to describe PrePAN resources in META files?

If we add some URL resources into META files specified in CPAN META Spec, links back to the URLs would appear on metacpan pages; it might be so cool, I think. I wanted to do that for PrePAN at first. I hacked up Module::Install::PrePAN and sent a pull-req of metacpan code to prove my concept.

In the discussion we made at IRC and the GitHub board linked above, we saw the key name $meta{resources}{PrePAN} wasn't good. The reason why I used it was that the CPAN META Spec 1.4 specified unofficial keys must include at least one upper-case letter.

(Spec 1.1) [optional] {map} A mapping of any URL resources related to this distribution. All-lower-case keys, such as homepage, license, and bugtracker, are reserved by this specification, as they have ``official'' meanings defined here in this specification. If you'd like to add your own ``special'' entries (like the ``MailingList'' entry above), use at least one upper-case letter.

On the other hand, version 2 of the spec doesn't and formalized all custom keys not listed in the official spec use "x_" or "X_". EU::MM and Module::Install seem to haven't supported the new spec around $meta{resources} yet. Module::Build has done already.

I thought `X_prepan' was more appropriate as a key name because it doesn't violate both of the specs and is the form version 2 specifies. So I released a new version of Module::Install::PrePAN. This is just a M::I extension. What I say in this article is about not only M::I related issues but also toolchans, I think.

Any suggestion how I should do with that things? I'll submit a proposal again to metacpan authors if it wouldn't a problem.


I had been misunderstanding when I wrote this article that CPAN META Spec 2 is at draft status.

David and Ricardo Signes drafted the final version 2 spec in April 2010 based on the version 1.4 spec and patches contributed during the proposal process.

daxim taught me at that "the spec is officially passed, "drafted" here is just a different word for "authored" or "have written"".