RPM очень гибкий в том, что он позволяет вам (строителю пакетов) указывать в разделе «Предоставляет». Можно указать одно и то же имя виртуального пакета несколько раз, потенциально с разными версиями. Он также позволяет вам указать пакет с отношениями версии, помимо равенства.Есть ли RPM, которые предоставляют несколько или сложных версий для одного виртуального пакета, существуют в дикой природе?
Таким образом, в то время как следующий может быть типичным Обеспечивает линию для спецификации RPM:
Provides: virtual-name, virtual-version = 1.0, local-version = 1.5
также допускается следующее:
Provides: virtual-name, virtual-name = 1.0, virtual-name = 1.5
или даже это:
Provides: virtual-name < 1.0, virtual-name >= 1.5
rpmbuild
вполне с радостью создаст эти RPM для вас, которые запросят правильно, используя rpm
и могут быть установлены как ожидалось. У меня есть два вопроса: во-первых, существуют ли какие-либо пакеты, которые фактически используют эти виды сложных спецификаций Provides? Во-вторых, как решатель зависимостей RPM интерпретирует третий пример с < и> = версиями?
Посмотрите на 'postfix.spec', может быть? [Этот пример] (http://pkgs.fedoraproject.org/cgit/rpms/postfix.git/tree/postfix.spec?id=25f5011e85c22c915a5a2f301308e9d0890ea811) имеет виртуальные теги для 'Обеспечивает: MTA smtpd smtpdaemon server (smtp)'. Не выглядит настолько сложным, насколько вы хотите. –