Skip Menu |

This queue is for tickets about the RPerl CPAN distribution.

Report information
The Basics
Id: 108544
Status: resolved
Priority: 0/
Queue: RPerl

People
Owner: WBRASWELL [...] cpan.org
Requestors: KENTNL [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Please settle on a consistent-length version scheme

As not all downstreams are smart enough to normalise CPAN versions, and as pretty much nobody except Perl uses floating point interpretations of versions, its a matter of time before the wildly changing version scheme creates a problem somewhere.

Which means eventually, somebody is going to think 1.2 < 1.000003, or similar.

Its generally considered "unsafe" to shorten the mantissa due to the risk it may have of breaking vendors somewhere, and the only general place people consider an exception to this rule is when the Major increments.

Simply put, instead of transitioning from 1.100002 to 1.2 , it is preferable by many that
you instead transition to 1.200000 , retaining the 0's.

At least, that way, the interpretation is constant regardless of whether you interpret the version as a floating point value, or a series of period-delimited integers ( which a substantial volume of people outside Perl do )

 

 

+1. It's easy to not notice this problem until various distro packagers are increasing their antacid intake and building effigies of CPAN authors :)
Thanks for your feedback! This was intentional on my part, I was simply uploading the tarballs which were automatically created by EU::MM using the `make dist` command. I think it has (so far) only affected versions 1 and 1.1 and 1.2, while the rest of the versions have the full 1.xxxxxx number format. So to make sure I understand, what you are requesting is that on my next major release such as v1.3, you want me to rename the tarball to say 1.300000, correct?
Oops, I meant "unintentional on my part"! On Sat Nov 07 19:15:37 2015, WBRASWELL wrote: Show quoted text
> Thanks for your feedback! > > This was intentional on my part, I was simply uploading the tarballs > which were automatically created by EU::MM using the `make dist` > command. > > I think it has (so far) only affected versions 1 and 1.1 and 1.2, > while the rest of the versions have the full 1.xxxxxx number format. > > So to make sure I understand, what you are requesting is that on my > next major release such as v1.3, you want me to rename the tarball to > say 1.300000, correct?
On 2015-11-07 19:15:37, WBRASWELL wrote: Show quoted text
> Thanks for your feedback! > > This was intentional on my part, I was simply uploading the tarballs > which were automatically created by EU::MM using the `make dist` > command. > > I think it has (so far) only affected versions 1 and 1.1 and 1.2, > while the rest of the versions have the full 1.xxxxxx number format. > > So to make sure I understand, what you are requesting is that on my > next major release such as v1.3, you want me to rename the tarball to > say 1.300000, correct?
Probably you should put the $VERSION into quotes, then EU::MM should do it right (i.e. the trailing zeroes are preserved).

On 2015-11-09 10:53:42, SREZIC wrote:
> Probably you should put the $VERSION into quotes, then EU::MM should
> do it right (i.e. the trailing zeroes are preserved).

Extra care must be taken here if Will wants to retain what he currently does with the underscores.

Because underscores turning up in your distname have significant implications for CPAN, and additional side effects can happen if $VERSION contains a literal underscore.

( Blame version.pm )

Okay I have released RPerl v1.3 with the proper long-format version number v1.300000 Thanks everyone!

I thought it worth Mentioning META.json still reports version q< 1.3 > as a number where it should report version q< "1.300000" > as a string.

Version consistency in the tarball name itself does drastically improve things for downstreams, but keeping the metadata values consistent also has benefits.

Okay thank you very much for pointing that out, I will re-open this ticket now until it is fixed in the next CPAN release.
Now I'm confused, on my local hard-drive there is a file named MYMETA.json which contains this line: "version" : "2.200000", Then on CPAN there is a similar but subtly different file named META.json which contains the line: "version" : 2.2, What is causing the quotes to be deleted, and why? (Is it EU::MM?) Is this good, or bad? Does this ticket need to remain open, or do we still need to do something in order to close it? $ diff MYMETA.json META.json 7c7 < "dynamic_config" : 0, --- Show quoted text
> "dynamic_config" : 1,
104c104 < "version" : "2.200000", --- Show quoted text
> "version" : 2.2,
Okay I figured it out and it should be fixed in v2.403000 (just uploaded to CPAN). First, the MYMETA files are not the ones used by CPAN so I was barking up the wrong tree, EU::MM hides the real META files inside the dist tarball when you do `make dist` which is why I wasn't seeing them. I believe I have solved this issue permanently with the help of ether and Grinnz on irc.perl.org #toolchain. I had to put single quotes around all applicable version numbers, and now it seems to work correctly. Thanks to everyone involved! :-) Perling, ~ Will the Chill On Tue Dec 27 16:50:42 2016, WBRASWELL wrote: Show quoted text
> Now I'm confused, on my local hard-drive there is a file named > MYMETA.json which contains this line: > > "version" : "2.200000", > > Then on CPAN there is a similar but subtly different file named > META.json which contains the line: > > "version" : 2.2, > > What is causing the quotes to be deleted, and why? (Is it EU::MM?) > > Is this good, or bad? > > Does this ticket need to remain open, or do we still need to do > something in order to close it? > > > > $ diff MYMETA.json META.json > 7c7 > < "dynamic_config" : 0, > ---
> > "dynamic_config" : 1,
> 104c104 > < "version" : "2.200000", > ---
> > "version" : 2.2,