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: зависимостей).