On Fri, Oct 9, 2009 at 7:43 AM, David Golden <xda...@gmail.com> wrote:
> 04. Formalize allowed version number formats
>
> Proposal:
>
> Formalize the spec for version numbers as "decimal or normalized
> dotted-integer (leading "v" and at least 3 components).  (Dagolden)
>
> Comments:
>
> * It's not clear whether/how to include alpha versions (with underscores)
>  in the spec as they generally cannot be resolved by the toolchain
>  (Dagolden)
>
> * Version comparison for "greater than" must be both possible and fully
>  described in all possible combinations, as things like Module::Install
>  need to handle duplicate dependency assertions. For example, part of the
>  M:I internals silently assert "requires File::ShareDir 1.23". If the user
>  then manually asserts "requires File::ShareDir v1.24.1" M:I needs to be
>  able to determine which to keep and which to discard.
>  (AdamKennedy)
>
> * SUPER 1.16 declares some dependencies as the empty string instead of
>  zero.  This apparently causes problems for some part of the toolchain.
>  We should clarify that empty string (and undef) are not allowed.  I
>  believe the toolchain special cases 0 to mean "any" even if a module does
>  not define $VERSION, but we should specify that behavior explicitly as
>  well.  (Dagolden)

First draft patch here.  Still needs more work:

http://github.com/dagolden/cpan-meta-spec/tree/04-version-formats

Reply via email to