#rpm #rpm-spec
#rpm #rpm-спецификация
Вопрос:
Я пытаюсь создать RPM, в котором есть два элемента BuildRequires; первый — это RPM репозитория, который является источником 2-го RPM. Второй элемент BuildRequires, очевидно, зависит от первого установленного репозитория, но оба устанавливаются вместе, следовательно, второй RPM не получен из требуемого репозитория, поскольку он еще не установлен. Могу ли я настроить так, чтобы первый был установлен, прежде чем пытаться установить второй?
BuildRequires: source-for-second-rpm
BuildRequires: second-rpm
....
Getting requirements for /root/rpmbuild/SPECS/stuff.spec
--> source-for-second-rpm
--> 1:second-rpm < this is not the correct version as above not yet installed
....
Installing:
second-rpm sourced-from-other-repository!
source-for-second-rpm sourced-correctly
Ответ №1:
Нет, в файлах спецификации RPM для этого пока нет такого положения. И все же ты можешь сделать одну вещь:-
а) Сначала установите исходный код для второго rpm.
б) Установите этот RPM, который вы только что создали.
Примечание: — Не указывайте source-for-second-rpm как зависимость вашего RPM.
Допустим, я хочу создать RPM с именем abc.rpm, и он зависит от python36. Теперь пакеты python36 доступны в репозитории epel-release.
Итак, вам нужно сделать следующее:-
а) yum install epel-release
б) yum install abc.rpm
Ответ №2:
Это означает, что зависимости неправильно установлены в этих двух rpm.
Обычно второй rpm должен Requires
использоваться вместо второго rpm, что, очевидно, не так. Если бы эти требования были установлены правильно, RPM были бы установлены в правильном порядке.
Комментарии:
1. Первый — это репозиторий, из которого я могу получить требуемую версию 2-го RPM. Это не обязательно требование.
2. Если подумать дальше, то можно перенести установку второго rpm в раздел %prep, т.Е. yum-config-manager —enable <источник для второгоrpm-repo> amp;amp; yum install -y second-rpm — это способ сделать это.
3. Боюсь, вы используете файлы спецификаций не так, как они предназначены для использования. У вас должен быть файл спецификации в ваших исходных текстах и создаваться таким образом…
4. То, что вы говорите, правильно. Я работаю в среде CICD, которая в настоящее время не имеет правильной настройки, поэтому я работаю над некоторыми проблемами.