CPAN Testers and Versions

acme on 2005-04-11T21:52:15

One of the sites I manage is CPAN Testers. This shows test reports for all your modules, and one of the things that has been bugging me is how to sort versions. I want the most recent versions first, but how do I figure out what crazy versioning scheme the author has used? Well, I don't need to any more, using the brand new Parse::BACKPAN::Packages, which looks at BACKPAN and thus lets me sort the versions in the order that they were released to CPAN. Here's a few interesting cases:

Note that version numbers are almost as hateful as licenses, schemas and in fact, software. And now I can ignore them! By using superior technology, I don't have to think about versions at all, thus making me much happier (and lazier!). Yay!


Excellent

barbie on 2005-04-11T22:26:11

That was bugging me too, but gave up thinking about it, hoping someone else could think of a decent way of doing it. Never thought to look at BACKPAN :)

CGI.pm

barbie on 2005-04-11T22:39:04

Looks like you're still having problems with the numbering for CGI.pm .....

Linked from CPAN Testers Index
Linked from CPAN

Someone really ought to patch the Makefile.PL to either remove DISTNAME or fix it to fit with the rest of the CPAN naming conventions.

Bug trackers are for bugs

schwern on 2005-04-12T07:43:24

Pet peeve: people who "report" bugs in journals, on perlmonks, IRC, web forums, user group meetings, etc. I do it to. Its human nature to feel that you have voice the bug therefore your obligation is done.

Put it on rt.cpan.org or the author is unlikely to ever even know there's a problem.

Re:Bug trackers are for bugs

barbie on 2005-04-12T09:46:37

But it's not a bug. It's doing exactly what MakeMaker allows it to. It might be an annoyance for listing on cpan-testers, but it's not wrong.

I use rt a lot. But I use it for posting patches and real bugs. Personal preferences for numbering systems and naming conventions don't belong there.

Let the author decide what a bug is.

schwern on 2005-04-13T19:47:16

Pet peeve #2: People who will not report issues using a module because they assume its by design and not a "bug". Or because they have found a bug but have not yet formulated a patch.

Report early, report often. Feedback is critical.

Let the author know because otherwise they live in their own little world and think everything's a-ok. It might be a bug or "accidental feature". This sort of thing happens all the time in MakeMaker where I break something obscure and people don't report it because they figured it was deliberate. Even if it is by design, the author may not be aware its causing anyone difficulty. Lincoln probably put that line into CGI.pm years and years ago to work around some old MakeMaker bug. And if he didn't and he likes it the way it is... eh, nothing lost but resolving a ticket.

Don't think of rt.cpan.org as a "bug" tracker its an "issue" tracker.

superior technology?

nicholas on 2005-04-11T22:46:18

superior technology

You're deluding yourself. It's still software, and thus hateful

Don't forget PIP versions!

schwern on 2005-04-12T07:55:19

Time-PT 1.0.42M3ChX

That's version 1.0 released on 2004-02-22 03:12:43:33.

year 4 2004
month 2 Feb
day M 22
hour 3 03
minute C 12
second h 43
millisec X 33

The date from 2000-2062 expressed as a human readable 7 digit base 64 number with millisecond accuracy. Very clever. Of course it really has NO business being in a CPAN version (the author has already had this explained to him, he doesn't care so don't bother).

PS The proper alpha sequencing is 1.23 1.23_01 1.23_02 1.24 because it sorts properly numerically (once you strip out the underscore). MakeMaker used to do it the other way around until that was pointed out to me.

Re:Don't forget PIP versions!

acme on 2005-04-12T08:37:54

Oooh, good one...

Re:Don't forget PIP versions!

schwern on 2005-04-13T19:36:00

FWIW at least it sorts sensibly... as strings... as long as he never goes over version 9.

newest does not always supercede older

jmm on 2005-04-12T13:46:01

You're getting a time relation from backPAN, and using it appropriately; but this technique should not be assumed to indicate that a more recent release of a module necessarily supercedes an earlier one.

For a counter-example, look at perl itself, which has regular bugfix/patch subreleases of a number of older release branches.