порядок зависимостей после установки в файлах спецификаций

Можно ли опубликовать требуемые зависимости для установки в файле спецификаций на Centos/RHEL 7? Я пробовал Требует: somepackage = 1.0.0.0 Проблема в том, что мне нужно запустить скрипт до установки зависимостей. Я попытался запустить это в разделе %pre, но оказалось, что он не выполняется до запуска раздела %pre и сбоя из-за отсутствия файла лицензии.

Файл спецификации выглядит следующим образом:

  Name:   MyClient
  Requires:    MyServerPackage = 1.0.0.0

  %pre
  echo "Write license that is needed by MyServerPackage prior to install" > /tmp/mylicense

Проблема в том, что я получаю сообщение об ошибке: Сбой сценариев %pre(MyServerPackage), статус выхода 1 Поскольку /tmp/mylicense отсутствует во время запуска сценария %pre MyServerPackages. Я также попытался добавить пакет под названием mylicense и добавить PreReq: mylicense. Но что бы я ни пытался, я получаю эту ошибку при проверке в MyServerPackage %pre.


person crashdog    schedule 28.01.2018    source источник
comment
после нескольких часов поиска я нашел эту возможность, которая работает для заголовка RHEL 7+ stackoverflow.com/questions/22456217/ Я открыт для других/лучших решений.   -  person crashdog    schedule 28.01.2018


Ответы (1)


Мне нужно запустить скрипт до установки зависимостей.

Это невозможно; насколько вам известно, зависимость могла быть установлена ​​два года назад.

Чтобы ответить, куда вы, думаю, направляетесь, вы можете указать, что что-то требуется для определенного раздела:

Requires: MyServerPackage
Requires(pre,preun): MyServerPackage

Это сообщит ему (строка 1), что для установки MyServerPackage всегда должен быть там. Затем в строке 2 явно говорится, что он должен быть там перед установкой или попыткой удалить этот пакет, если вы устанавливаете их одновременно. Это полезно, если, например, другой пакет устанавливает имя пользователя и т. д.

person Aaron D. Marasco    schedule 28.01.2018
comment
Я отмечаю это как правильный ответ. Потому что это так :) Однако я действительно задал вопрос неправильно. Дело в том, что на самом деле речь идет о пакете-оболочке. Таким образом, зависимость наверняка не установлена ​​ранее. Однако я мог решить свою проблему, используя макрос %pretrans. - person crashdog; 29.01.2018