Пользовательская зависимость 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

исправил мою проблему.

Другие вопросы по тегам