[devel] Снова perl и зависимости

Andrew Kornilov =?iso-8859-1?q?hiddenman_=CE=C1_altlinux=2Eorg?=
Вс Апр 13 20:53:26 MSD 2008


Alexey Tourbin <at-u2l5PoMzF/Uox3rIn2DAYQ на public.gmane.org> writes:
>> 1. Как мне прописать версию модуля perl-а в виде "больше или равно", если
>> используется автоматических поиск зависимостей? Только вручную указав этот
>> модуль и требование к версии?
> Не надо прописывать не слишком актуальные версии (если в branch-4.0
> версии хватает, то для 4.1-to-be версию указывать не надо).
В принципе, я так и хотел сделать, учитывая то, что версии этих модулей
обновляет по моей просьбе lav@ до того, как я что-то залью. Но все равно есть
вероятность того, что кто-то обновить только само приложения без необходимых
модулей.
>> 2. Если все-таки вручную, то как все-таки правильно указывать требования к
>> перловым модулям? buildreq у нас ставит зависимости на пакеты, однако,
>> find-requires прописывает зависимости вида "perl(Module.pm)".
> Ну, в идеале, требования к перловым модулям должны быть указаны в самом
> перловом коде, который требует перловые модули.
Но в каком виде? Module.pm? Но тогда и провайдить его в таком же виде надо. В
принципе, оно сейчас так и происходит. Мне просто как лучше написать? Оставить
то, что создать buildreq (в виде имен пакетов) или переделать это на имена
модулей? 
>> Requires: perl(DBIx/SearchBuilder.pm) >= 1.51
>> Однако, после сборки в rpm я получил следующее в requires:
>> perl(DBIx/SearchBuilder.pm) >= 1.400
>> Почему версия SearchBuilder стала 1.400?
> Потому что версии в зависимостях выравниваются по трём десятичным
> цифрам (как в requires, так и в provides).
Может я чего-то не понял, но как можно 1.51 выровнять до 1.400? Просто, видимо,
проигнорировалось моё требование к версии и взялось из кода. Вот только что
нашел там:
package RT::SearchBuilder;

use RT::Base;
use DBIx::SearchBuilder "1.40";

Однако, реально они требутют версию >= 1.50, у них там в rt-test-dependencies
это прописано.

Кто здесь прав и виноват? То, что они хотят старую версию - это, видимо,
недоделка? 
И как мне все-таки заставить find-requires поставить нужную версию, даже если
он нашел другую? Никак?

-- 


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