Gentoo Archives: gentoo-perl

From: Torsten Veller <tove@g.o>
To: gentoo-dev@l.g.o, gentoo-perl@l.g.o
Subject: [gentoo-perl] Re: Ebuild- and CPAN-versions compatibility
Date: Tue, 11 Jan 2011 20:11:23
Message-Id: 20110111201013.GA23791@veller.net
In Reply to: [gentoo-perl] Ebuild- and CPAN-versions compatibility by Torsten Veller
1 * Torsten Veller <tove@g.o>:
2 > CPAN and ebuild versions are ordered in different ways. The idea here is
3 > to change the ebuild versions to be predictable and CPAN compatible.
4
5 I've committed dev-perl/Gentoo-PerlMod-Version which contains a perl module and
6 a scipt to convert the versions. gentoo-perlmod-version.pl maps given
7 perlish versions to ebuild versions (perl => ebuild):
8
9 $ gentoo-perlmod-version.pl 0.9 0.98 0.987 v0.{900,980,987} 0.{900,980,987}.0
10 0.9 => 0.900
11 0.98 => 0.980
12 0.987 => 0.987
13 v0.900 => 0.900
14 v0.980 => 0.980
15 v0.987 => 0.987
16 0.900.0 => 0.900
17 0.980.0 => 0.980
18 0.987.0 => 0.987
19
20 gentoo-perlmod-version.pl 0.9 0.08 0.007 0.0006 0.00005 0.000004 0.0000003
21 0.9 => 0.900
22 0.08 => 0.80
23 0.007 => 0.7
24 0.0006 => 0.0.600
25 0.00005 => 0.0.50
26 0.000004 => 0.0.4
27 0.0000003 => 0.0.0.300
28
29 Using version.pm the ebuild and perl versions can be compared:
30 The ebuild version just needs to be prefixed with a 'v'.
31 $ perl -wE 'while(@ARGV){say version->parse(shift) <=> version->parse(shift)}' v1.1 1.001 v1.190 1.19
32
33
34 The given perl distribution version will be recorded as MODULE_VERSION in
35 the ebuild. (For ease of use s/^MODULE_VERSION=(['"]?)(.+)\1/$2/ should
36 return the version if not PV.)
37
38 Diff of the perl-module.eclass is attached.
39
40
41 The change of versioning will result in ~22 downgrades:
42
43 $ find dev-perl -name "*.ebuild" | egrep '\.[1-9][0-9]{3}'
44 dev-perl/POE-Component-IKC/POE-Component-IKC-0.2200.ebuild
45 dev-perl/Class-Accessor-Grouped/Class-Accessor-Grouped-0.10000.ebuild
46 dev-perl/IO-Moose/IO-Moose-0.1004.ebuild
47 dev-perl/DBD-mysql/DBD-mysql-2.9007.ebuild
48 dev-perl/text-autoformat/text-autoformat-1.669002.ebuild
49 dev-perl/text-autoformat/text-autoformat-1.669001.ebuild
50 dev-perl/CPAN-Mini/CPAN-Mini-1.100630.ebuild
51 dev-perl/Tie-Cache-LRU/Tie-Cache-LRU-20081023.2116.ebuild
52 dev-perl/DateTime-Format-Strptime/DateTime-Format-Strptime-1.5000.ebuild
53 dev-perl/DateTime-Format-Strptime/DateTime-Format-Strptime-1.4000.ebuild
54 dev-perl/Net-Twitter/Net-Twitter-3.14001.ebuild
55 dev-perl/Net-Twitter/Net-Twitter-3.13009.ebuild
56 dev-perl/XML-RAI/XML-RAI-1.3031.ebuild
57 dev-perl/XML-RAI/XML-RAI-1.3022.ebuild
58 dev-perl/Algorithm-Diff/Algorithm-Diff-1.1902.ebuild
59 dev-perl/Throwable/Throwable-0.102080.ebuild
60 dev-perl/Email-Sender/Email-Sender-0.102370.ebuild
61 dev-perl/Email-Sender/Email-Sender-0.101760.ebuild
62 dev-perl/Convert-BER/Convert-BER-1.3200.ebuild
63 dev-perl/Convert-BER/Convert-BER-1.3101.ebuild
64 dev-perl/Scalar-Properties/Scalar-Properties-1.100860.ebuild
65 dev-perl/DateTime-Format-Mail/DateTime-Format-Mail-0.3001.ebuild
66 dev-perl/File-chdir/File-chdir-0.1002.ebuild
67 dev-perl/File-chdir/File-chdir-0.1003.ebuild
68 dev-perl/Net-Netmask/Net-Netmask-1.9015.ebuild
69 dev-perl/PlRPC/PlRPC-0.2020-r1.ebuild
70 dev-perl/SQL-Translator/SQL-Translator-0.11006.ebuild
71 dev-perl/SQL-Translator/SQL-Translator-0.11007.ebuild
72 dev-perl/Perl6-Junction/Perl6-Junction-1.40000.ebuild
73 dev-perl/MP3-Tag/MP3-Tag-0.9709.ebuild

Attachments

File name MIME type
perl-module.patch text/plain