ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> perl5-porters
perl5-porters
Re: CPAN and module VERSION numbers generated from CVS/RCS
by Elaine -HFB- Ashton other posts by this author
Aug 2 2001 2:53PM messages near this date
Re: CPAN and module VERSION numbers generated from CVS/RCS | Re: CPAN and module VERSION numbers generated from CVS/RCS
John Peacock [jpeacock@[...].com] quoth:
*> Michael G Schwern wrote:
*> > The problem here is that CPAN decided, whether for good or bad, that
*> > they were going to go with numeric comparision of version numbers.  So
*> > 10.10 < 10.9.  Even though this might seem like a mistake, I think the
*> > historical reason was to defend against authors writing this:
*> > 
*> >     $VERSION = 10.10;
*> > 
*> > and forgetting that its going to come out as 10.1.

Yes, and we still see far too many people who can't be bothered to even
use them. *nudgenudge*winkwink* 

I devoted a whole slide to this in my talk at TPC since it would seem that
that the most obvious and simple things go unheeded.

http://theoryx5.uwinnipeg.ca/CPAN/perl/Exporter.html#Module_Version_Checking

*> > For good or for ill, that's the way it is.  Making all the various
*> > core routines to check versions consistant, and writing down a
*> > definitive guide to how checks are done is a Good Thing.  Making sure
*> > Exporter and CPAN and use() do the same thing with versions is important.

After going through all the relevant docs for the cpan talk I would agree
that perlmodlib, perlmod and possibly the makemaker/exporter docs could
use more clarity since versions are really only explicity mentioned in one
of them, implied in the rest. 

*> since that is vastly easier than the leaping and jumping that is 
*> suggested in perlmod.  Would the correct place to patch be Exporter
*> and have CPAN import that one routine?  Where does use() get its logic

The only stipulation for the leaping and jumping now is that it all be on
one line for MM though it certainly couldn't hurt to have a routine to
parse it. I'm all for doing anything that will get people to use versions,
use proper versions and use them all the time :)

Theoretically, if everyone read the docs and followed the versioning
guidelines, everything would be terrific, but in practise this isn't what
we see happening.

*> from and should that be patched and imported into both Exporter and
*> CPAN?  Or do I track down the v.10.10 code and make all of them use
*> that instead?

CPAN uses MM so if MM can use it, CPAN should be able to grab the version.

vstrings are not the same as VERSION and not many people seem to be using
them in their modules. I'm not sure if it's attractive to add more options
to an already, seemingly, difficult task of just getting a version into
the module itself, but it might be interesting to see if it works.
VERSION in my estimation should be simple and straightforward.
Incrementing from "0.01" seems to suit most who can be bothered to include
it so vstring version numbers may be more complexity than is really
necessary.

e.
Thread:
David Dyck
Johan Vromans
Jim Cromie
John Peacock
Graham Barr
Elaine -HFB- Ashton
Michael G Schwern
Ronald J Kimball
Michael G Schwern
John Peacock
David M. Lloyd
Ronald J Kimball
Elaine -HFB- Ashton

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved