Неправильное сравнение версий rpm по yum для зависимостей - PullRequest
0 голосов
/ 26 октября 2018

Это система RHEL 7.4.

У меня есть два об / мин - a и b . a-1-0 установлено. b-1-0 и a-2-0 находятся в моем локальном репозитории, созданном с помощью команды createrepo $PWD, за которой следует yum-config-manager --add-repo=file://$PWD.

b-1-0 имеет Requires: a > 1 в своем файле спецификаций

a-1-0 имеет явный Provides: a в своем файле спецификаций. Это ошибка в a-1-0 файле спецификации, представленном много лет назад.

Я хочу, чтобы a-1-0 был заменен на a-2-0 при выполнении yum install b. Однако yum устанавливает b-1-0 без обновления a-1-0 до a-2-0 . По некоторым причинам, yum, похоже, считает, что a-1-0 удовлетворяет требованию a > 1. Есть ли способ решить эту проблему, не внося никаких изменений в b.spec или явно передавая a-2-0 в yum install?

Обновление

bash$ rpm -qp --provides a-1-0.x86_64.rpm
a
a = 1-0
a(x86-64) = 1-0

bash$ rpm -qp --provides a-2-0.x86_64.rpm
a = 2-0
a(x86-64) = 2-0

bash$ rpm -qp --requires b-1-0.x86_64.rpm
a >= 2
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
...