CentOS 7 - как установить зависимость с помощью wget в файле спецификации RPM - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь написать файл спецификации RPM для сборки пакета RPM.Вот, по сути, мой файл спецификаций:

[...]
Requires: nodejs java-1.8.0-openjdk java-1.8.0-openjdk-devel log4j 

%define _rpmdir ../
%define _rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
%define _unpackaged_files_terminate_build 0

%pre
[Some script]


%post
[Some script]

%preun
[Some script]

%postun
[Some script]

%install
[...]

%files
[...]

Мне удалось установить зависимости пакета с преамбулой Requires, ожидаем, что не существует как yum package (tomcat8).В интернете я обнаружил, что установить его на CentOS можно следующим образом:

wget https://harbottle.gitlab.io/harbottle-main/7/x86_64/00853071-tomcat8/tomcat8-8.5.37-2.el7.harbottle.x86_64.rpm
rpm -ivh tomcat8-8.5.37-2.el7.harbottle.x86_64.rpm

Но где я должен поместить его в файл спецификации?Я попытался вставить его в скрипт %pre, но на rpm есть блокировка, которая мешает его использованию.Я пытался поместить это в часть %install, но это не казалось правильным.Можете ли вы помочь мне решить эту проблему?Есть ли способ добавить его в преамбулу Requires?

Спасибо!

1 Ответ

0 голосов
/ 07 февраля 2019

это не тот способ, которым вы должны управлять этими зависимостями.Вы должны найти способ сделать этот RPM доступным в ваших репозиториях.Я вижу несколько вариантов:

  1. добавить репозиторий harbottle: yum-config-manager --add-repo https://harbottle.gitlab.io/harbottle-main/7/x86_64/.Теперь ваш yum сможет самостоятельно находить обороты tomcat8
  2. Если вы хотите убедиться, что пакет остается доступным;лучше скопируйте tomcat8.rpm в свой собственный репозиторий, помимо других rpms.
...