Parce que je dois installer plusieurs versions de Python sur plusieurs serveurs Oracle Linux qui sont construits via un processus kickstart, je voulais construire un rpm python pour notre dépôt yum. J'ai été capable de construire Python manuellement en utilisant 'make altinstall' qui ne s'installe pas sur votre installation Python système par défaut, donc je pensais que ce serait le chemin à parcourir.RPM Python que j'ai construit ne va pas installer
Après beaucoup d'essais et d'erreurs, j'ai réussi à construire un régime commençant par un paquet python .bz2 2.7 - mais maintenant, quand j'essaie de l'installer, je reçois une erreur:
error: Failed dependencies:
/usr/local/bin/python is needed by Python-2.7.2-1.i386
Que .. ???? Python est ce que j'essaye d'installer !!! Et le système Python par défaut (2.4) est dans/usr/bin/python !!! Et mon emplacement de prototypage pour le répertoire python est /tmp/python2.7 (et l'exécutable était /tmp/python2.7/bin/python2.7). Alors pourquoi regarde-t-il/usr/local/bin?
Voici le coeur de mon SPEC RPM:
%prep
%setup -q
%build
./configure --prefix=/tmp/python2.7
make
%install
make altinstall
je regarde de plus près le journal de construction rpm et je vois:
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...]
Ok, donc il est là/usr/local/bin entre ... Maintenant, la question est, comment détermine-t-il ces exigences? Ai-je spécifié quelque chose de mal? Dois-je remplacer quelque chose? Comme beaucoup de débutants rpm, je reçois la partie build, mais je ne "grok" pas vraiment ce qui se passe à la fin de rpmbuild et ce qui est réellement mis dans le fichier rpm (autre que les fichiers que vous spécifiez dans% files) et ensuite ce qui se passe réellement lorsque vous faites l'installation de RPM. Est-ce que quelqu'un peut suggérer pourquoi mon installation échoue ou ce que je pourrais lire pour comprendre pourquoi ma construction de rpm exige ce que j'essaye de construire?
Sons prometteurs - Je vais l'essayer ... – Ilane
>>> imprimer "Merci, F.J !!!" Merci, F.J !!! – Ilane
Vous ne voulez pas désactiver le traitement des dépendances dans ce cas. Cela peut casser le paquetage python car RPM ne saura pas de quoi dépend le fichier. La bonne chose à faire est de patcher le fichier contenant la ligne shebang erronée. – jayhendren