[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