[devel] Re: RFC: perl deps versioning
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Дек 2 04:33:49 MSK 2004
On Thu, Dec 02, 2004 at 02:49:23AM +0300, Mikhail Zabaluev wrote:
> > 1) перебор в смысле Requires, в результате которого получается unmet
> > dependency:
> > Requires: perl(Data/Dumper) >= 0:2.121
> > Provides: perl(Data/Dumper) = 0:2.20
> >
> > 2) перебор в смысле Provides, в результате которого необходимая
> > зависимость фактически теряется:
> > Requires: perl(Data/Dumper) >= 0:2.12
> > Provides: perl(Data/Dumper) = 0:2.100
>
> По-моему, правильнее будет унифицировать все числа до трех знаков после
> точки, дополняя нулями. Решим проблему почти для всех случаев без потери
> точности.
Без потери точности нужно унифицировать до шести цифр, тогда можно будет
отказаться от версий типа 1:x.y.z и конвертировать их в 0:x.00y.00z.
На уровне перла это автоматически так и происходит:
$ grep 'VERSION =' /usr/lib/perl5/vendor_perl/Net/SNMP.pm
our $VERSION = v4.1.2;
$ perl -e 'use Net::SNMP 4.1'
Net::SNMP version 4.1 required--this is only version 4.001002 at -e line 1
BEGIN failed--compilation aborted at -e line 1.
$
Тем более что зависимости 1: в общем-то harmful, т.к. Serial перекрывает
любую версию. Так что здесь тоже возможны казусы. Однако же v-strings
deprecated. Правда, будут какие-то version objects.
Да, наверное три знака -- тоже неплохо (тогда для v-strings сохранится
один знак после точки, если отказаться от 1: зависимостей).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20041202/2c3b1366/attachment-0001.bin>
Подробная информация о списке рассылки Devel