Re: automatic configure_requires

Eric Wilhelm <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.module-build
Message-ID <[email protected]>
# from David Golden
# on Sunday 09 August 2009 05:25:

>Remember, this is Module::Build saying:  "You're too lazy to specify
>what version of me you need, so I guess I have to read your mind or
>come up with some reasonably sane fallback to protect your from
>yourself."
>
>In that context "0" means "you didn't say, so I guess any version will
>do" and "X.YY" means "the last version I know your end users will be
>able to get from CPAN".
>
>The latter version is now in the repo.

This is a good default.  Particularly for those of us who are running 
trunk.

Adam is right that this might let an alpha-feature requirement slip 
through.  But if you need an alpha feature, it's actually better to 
just have the alpha version in configure_requires -- because users 
*can* satisfy the alpha (even if they have to get it from svn) whereas 
nobody can satisfy the next-major-version requirement until it ships.

For a less-fiddly automatic setting of configure_requires, we might want 
to have a table of named features mapped to version numbers.  But I 
would still use alpha numbers in that table - just warn the user during 
ACTION_dist() if their required feature is in alpha (implied by being a 
bigger number than the last major release extracted from the current 
$VERSION.)  Maybe some pod with '=item' entries under each =head2 
$VERSION section could be cooked into a .pm at build time.

--Eric
-- 
"Beware of bugs in the above code; I have only proved it correct, not
tried it."
--Donald Knuth
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------
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.