CPAN and module VERSION numbers generated from CVS/RCS
by David Dyck other posts by this author
Jul 24 2001 5:20PM messages near this date
perl@11467
|
Re: CPAN and module VERSION numbers generated from CVS/RCS
( I directed this to comp.lang.perl.modules as well as p5p,
until I here where the 'appropriate' place to discuss this
would be)
I'd like to start a discussion on what the best
way to use VERSION numbers numbers that are generated
from RCS or CVS Revision numbers and how get CPAN to compare
them better. (the problem seems to arise when the new revision
number has more digits than the earlier version).
perldoc perlmod suggests the following example
$VERSION = do { my @r = (q$Revision: 2.21 $ =~ /\d+/g);
sprintf " %d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
This might fix the problem that I am seeing from
/usr/local/bin/perl -e 'use CPAN; CPAN::Shell-> r;'
where
/usr/local/bin/perl -e 'use CPAN; CPAN::Shell-> r;'
Package namespace installed latest in CPAN file
DBI::DBD 10.10 10.9 T/TI/TIMB/DBI-1.18.tar.gz
by converting the 10.9 to 10.09, but it doesn't fix the case
when the version is bumped from 10.99 to 10.100.
The problem of changing the number of digits in the
version string still exists.
I am also surprised that perlmod suggest only 2 digits, but
some of the code in CPAN seem to suggest 3 digit version numbers.
(perlmodlib suggests "at least two digits", and to not
use a "1.3.2" style version. Exporter also suggests using versions
numbers with at least 2 decimal places if you use the default require_version)
I looked into ExtUtils::MM_Unix::parse_version
(pulled in from ExtUtils::MakeMaker)
as well as
CPAN::Version::vcmp,
CPAN::Version::vgt,
# vgt says "v10.10" > "v10.9, and v10.10 > v10.9
CPAN::Version::vstring,
# I like how vstring uses pack "U*", split /\./, $n;
# to extract a version number "v10.9" in a string
# into a v10.9 unicode character v-number.
It looks like CPAN's CPAN::Shell-> r would handle
"v10.9" and "v10.10" and not report that version 10.9
was newer that version 10.10, but just how far should
a module author have to go. I'm not sure how
compatible this would be with the Exporter module.
Also, while CPAN goes to the trouble to deal with
version strings beginning with "v", Exporter::require_version only does
a numeric conversion.
I'd like to here thoughts on how this inconsistency
could be resolved, and again, how to work best with
VERSION strings that are derived from RCS/CVS Revisions numbers.
Thanks,
David Dyck
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
|