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 |