[devel] Re: RFC: perl deps versioning

Alexey Tourbin at на altlinux.ru
Чт Дек 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: зависимостей).
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.ru/pipermail/devel/attachments/20041202/2c3b1366/attachment.bin


Подробная информация о списке рассылки Devel