Поскольку мне нужно установить несколько версий Python на нескольких серверах Oracle Linux, которые создаются с помощью процесса кикстарта, я хотел собрать обороты Python для нашего репозитория yum. Я смог собрать Python вручную, используя 'make altinstall', который не устанавливается поверх установленной по умолчанию системы Python, поэтому я подумал, что это будет путь.
После долгих проб и ошибок мне удалось собрать rpm, начиная с пакета .bz2 python 2.7 - но теперь, когда я пытаюсь установить его, я получаю сообщение об ошибке:
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/python2.7 (и исполняемый файл был /tmp/python2.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 (кроме файлов, которые вы указываете в% files) и что на самом деле происходит, когда вы выполняете установку rpm.
Кто-нибудь может подсказать, почему моя установка не удалась или что я мог прочитать, чтобы понять, почему моя сборка rpm требует того, что я пытаюсь собрать?