Отношения между пакетами

Явные отношения между пакетами поддерживаются форматами упаковки типа ipkg и deb. К таким отношениям относится определение конфликтующих и рекомендуемых пакетов.

Следующие переменные управляют отношениями между пакетами в рецептах:

RRECOMMENDS

Определяет пакеты, рекомендуемые к установке при установке этого пакета. В общем случае это означает, что рекомендуемые пакеты не требуются для запуска, но предоставляют некоторую функциональность, обычно нужную пользователям.

RCONFLICTS

Определяет пакеты, конфликтующие с данным. Два конфликтующих пакета не могут быть установлены одновременно.

RREPLACES

Используется для описания того, что данный пакет заменяет уже установленный с другим именем. Во время установки данного пакета заменяемый пакет удаляется.

RSUGGESTS

Используется для описания пакетов, предлагаемых к установке. Такие пакеты вообще-то не требуются для использования данного, но имеют к нему отношение и могут быть полезны.

RPROVIDES

Явно описывает, что данный пакет предоставляет в смысле времени выполнения. Например поддержка "горячего" подключения предоставляется несколькими пакетами, такими как udev и linux-hotplug. Оба описывают, что они предоставляют "hotplug" для времени выполнения, так что любые пакеты, требующие его, могут просто указать "hotplug" в списке зависимостей RDEPENDS. В зависимости от дистрибутива будет выбран тот или иной вариант реализации поддержки "горячего" подключения.

PROVIDES

Явно описывает, что данный пакет предоставляет в смысле времени сборки. Обычно используется когда два или более пакета предоставляют схожую функциональность. Например, существует несколько разных реализаций X сервера в OpenEmbedded, и каждый объявляет, что предоставляет "virtual/xserver". Поэтому пакеты, требующие X сервер при сборке могут просто добавить в переменную DEPENDS "virtual/xserver". В зависимости от дистрибутива будет выбрана та или иная реализация X сервера.