develooper Front page | perl.module.build | Postings from November 2007

Re: Adding a perl_version key to META.yml

Thread Previous | Thread Next
From:
David Golden
Date:
November 18, 2007 07:21
Subject:
Re: Adding a perl_version key to META.yml
Message ID:
5d4beb40711180721l6eb88ec1jb4f36dfdc4c681c0@mail.gmail.com
On Nov 17, 2007 11:30 PM, Michael G Schwern <schwern@pobox.com> wrote:
> Let's put it on it's head.  We control META.yml.  META.yml consumers have to
> write special code to handle "requires: perl" anyway.  What's the advantage of
> doubling up the meaning of "requires"?  It didn't take advantage of any
> existing code or meaning.
>
> Why not make up a new key?

Because right now, consumers already have the special-case code and
will need to keep that special-case code to be backwards compatible
with older META.yml specs they might encounter.  Adding new key
doesn't undo the design mistakes of the past and just creates new work
and new sources of incompatibility.  E.g.:

CPAN author:  "Why are you complaining that my module doesn't work on
5.6?  I clearly put 'requires_perl' in the META.yml"

CPAN user:  "My $job still uses 5.6.s and doesn't let us install newer
versions of @toolchain_modules"

Hell, we're already there with incompatibility issues now with
"requires => { perl => 5.006 }" which still blows up on older Perls if
the main module specifies a version with "our $VERSION" (at least for
M::B <= 0.2808.  Dev version 0.2808_01 fixes that problem).

So, yes, it was a crappy design decision/hack, but now we're stuck with it.

David

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About