По умолчанию rpm ищет модули perl внутри самого rpm и выдает ошибку зависимости, если она не найдена. Например, у меня есть скрипт perl в rpm, который использует Crypt::DES
модуль perl. У меня есть этот модуль perl в системе ( /usr/local/lib64/perl5/Crypt/DES.pm
), и этот каталог включен в @INC
Когда я пытаюсь установить пакет rpm:
[jai@orange x86_64]$ rpm -ivh abc-1-1.el6.x86_64.rpm
error: Failed dependencies:
...(some other perl modules)
perl(Crypt::DES) is needed by abc-1.el6.x86_64
...(some other modules)
Но когда я помещаю этот модуль perl (DES.pm) в исходный код rpm, он не показывает ошибку зависимости для этого модуля perl.
И мой вопрос в том, как указать в rpm (может быть, в spec-файле), чтобы он также искал зависимости perl в системе?
решение1
Вы должны иметь возможность включить в свой файл спецификаций что-то вроде следующего:
Requires: perl(Crypt::DES)
Вы также можете проверить, предоставляет ли ваш дистрибутив пакет perl-Crypt-DES, и использовать его вместо того, чтобы вручную помещать файлы в /usr/local/.