Поскольку мне приходится устанавливать несколько версий Python на нескольких серверах Oracle Linux, которые создаются с помощью процесса кикстарта, я хотел создать rpm для python для нашего репозитория yum. Я смог создать Python вручную, используя "make altinstall", который не устанавливается поверх установленной по умолчанию системы Python, поэтому я подумал, что это будет путь.
После долгих проб и ошибок мне удалось создать rpm, начиная с пакета python 2.7.bz2, но теперь, когда я пытаюсь его установить, я получаю сообщение об ошибке:
error: Failed dependencies:
/usr/local/bin/python is needed by Python-2.7.2-1.i386
Что...??? Python - это то, что я пытаюсь установить!!! И системный по умолчанию Python (2.4) находится в /usr/bin/python!!! И моим местом прототипирования для каталога python является /tmp/python 2.7 (и исполняемый файл был /tmp/python 2.7/bin/python2.7). Так почему он смотрит в /usr/local/bin?
Вот ядро моего RPM SPEC:
%prep
%setup -q
%build
./configure --prefix=/tmp/python2.7
make
%install
make altinstall
Я более подробно рассмотрю журнал сборки rpm, и я вижу:
Requires: /bin/sh /tmp/python2.7/bin/python2.7 /usr/bin/env /usr/local/bin/python libc.so.6 libc.so.6(GLIBC_2.0)...[a lot more...]
Хорошо, поэтому там, где находится /usr/local/bin... Теперь вопрос в том, как он определяет эти требования? Я указал что-то неправильно? Мне нужно что-то переопределить?
Как и многие новички rpm, я получаю часть сборки, но я действительно не "задираю" то, что происходит в конце rpmbuild, и что на самом деле попадает в файл rpm (кроме файлов, которые вы указываете в% файлов) а затем, что на самом деле происходит, когда вы устанавливаете rpm install.
Кто-нибудь может предположить, почему моя установка не работает или что я могу прочитать, чтобы понять, почему моя сборка rpm требует того, что я пытаюсь построить?