Основной синтаксис именования зависимостей:
| 
 Requires: capability   | 
где capability, как правило, имя другого пакета. В данном примере тип зависимости - Requires, то есть те возможности, которые нужны нашему пакету. Для всех других типов зависимостей строки будут выглядеть похоже:
| 
 Provides: capability   | 
Для добавления группы зависимостей их разделяют пробелом, или запятой и пробелом:
| 
 Requires: bash perl   | 
10.1.1.1 Версии зависимостей
Часто бывает необходимо уточнить версию зависимости, например:
| 
 Conflicts: bash >= 2.0   | 
Запись в строке говорит о том, что пакет будет конфликтовать с любым пакетом bash, чья версия 2.0 или выше.
В таблице приводятся различные случаи сравнения версий:
| 
 Тип сравнения  | 
 Что значит  | 
| 
 package < version  | 
 Пакет со значением версии меньше, чем version  | 
| 
 package > version  | 
 Пакет со значением версии больше, чем version  | 
| 
 package >= version  | 
 Пакет со значением версии больше или равной version  | 
| 
 package <= version  | 
 Пакет со значением версии меньше или равной version  | 
| 
 package = version  | 
 Пакет со значением версии, в точности равной version  | 
| 
 package  | 
 Пакет под именем package любой версии  | 
При сравнении версий RPM поддерживает и расширенные номера, в стиле Эпоха: Версия-Релиз, например:
| 
 1:5.6.0-17   | 
Очень часто для сравнения требуется только версия. Эпоха может помочь в случае сложных номеров версий, а релиз почти никогда не используется, за исключением случаев, когда зависимость привязана к конкретной сборке.
10.1.1.2 Создание виртуальных возможностей
Зависимости базируются на возможностях, в большинстве случаев возможность предоставляется пакетом. Но можно создать так называемые виртуальные возможности, которые представляют собой абстрактные имена. Например, пакет sendmail предоставляет функциональность smtp-сервера и в пакете этот факт представлен виртуальной возможностью, названной smtpdaemon. Например:
| 
 Provides: smtpdaemon   | 
Данная возможность ссылается на функционал SMTP этого пакета. Допустим, ряд программ нуждается в отправке писем во время своей работы, причем все равно, через какой почтовый сервис. Тогда, указав в соответствующих пакетах виртуальную возможность smtpdaemon, разработчик сделает допустимым установку пакета с такими программами в систему, в которой есть какой-либо из smtp-сервисов (если укажет в Requires параметр smtpdaemon), причем неважно, какой именно.
10.1.1.3 Зависимости от скриптовых движков и модулей
Скриптовые языки, такие, как Perl или Tcl, поддерживают модули расширения (add-ons). Разрабатываемый пакет может зависеть от такого модуля. RPM использует специальный синтаксис с использованием круглых скобок для указания модуля интерпретируемого языка. Например:
| 
 Requires: perl(Carp) >= 3.2   | 
Такая строка указывает на потребность пакета в модуле Carp языка Perl версии 3.2 или выше.
 Далее - Установка предварительных требований 
 Назад - Зависимости 
 Содержание