Как указать rpm для поиска зависимых модулей perl в системе

Как указать rpm для поиска зависимых модулей perl в системе

По умолчанию 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)

Видетьhttps://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-specfile-syntax.html#id729642

Вы также можете проверить, предоставляет ли ваш дистрибутив пакет perl-Crypt-DES, и использовать его вместо того, чтобы вручную помещать файлы в /usr/local/.

Связанный контент