Пользовательская зависимость rpm от конкретной версии nginx
Я пытаюсь создать RPM для определенного модуля nginx. Мой spec-файл собирает модули и создает пакет успешно, но я не могу сделать это, это зависит от права на пакет nginx, на котором был построен мой модуль.
В моем spec-файле я попытался использовать:
Requires: nginx == 1.12.2-1.el7_4.ngx
Бен, когда я пытаюсь установить свой модуль, yum выдает сообщение об ошибке:
Error: Package: 1:nginx-headers-more-1.12.2-0.33-2.el7_4.x86_64 (custom)
Requires: nginx = 1.12.2-1.el7_4.ngx
Available: 1:nginx-1.8.0-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.8.0-1.el7.ngx
Available: 1:nginx-1.8.1-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.8.1-1.el7.ngx
Available: 1:nginx-1.10.0-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.10.0-1.el7.ngx
Available: 1:nginx-1.10.1-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.10.1-1.el7.ngx
Available: 1:nginx-1.10.2-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.10.2-1.el7.ngx
Available: 1:nginx-1.10.3-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.10.3-1.el7.ngx
Available: 1:nginx-1.12.0-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.12.0-1.el7.ngx
Available: 1:nginx-1.12.1-1.el7.ngx.x86_64 (nginx)
nginx = 1:1.12.1-1.el7.ngx
Installing: 1:nginx-1.12.2-1.el7_4.ngx.x86_64 (nginx)
nginx = 1:1.12.2-1.el7_4.ngx
Available: 1:nginx-1.14.0-1.el7_4.ngx.x86_64 (nginx)
nginx = 1:1.14.0-1.el7_4.ngx
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Кто-нибудь может указать мне, где я не прав?
1 ответ
Решение
Для потомков
Проблема заключается в том, что nginx версии его пакетов с эпохой см. Здесь rpm doc (то есть 1: в начале 1: 1.12.2-1.el7_4.ngx)
Так меняется:
Requires: nginx == 1.12.2-1.el7_4.ngx
чтобы:
Requires: nginx == 1:1.12.2-1.el7_4.ngx
исправил мою проблему.