Problem z %py_build przy próbie budowania calibre
Jacek Konieczny
jajcus at jajcus.net
Thu Dec 31 20:23:09 CET 2015
On 2015-12-31 16:43, Łukasz Maśko wrote:
>> Jeśli jest to tylko budowane dla jednej wersji Pythona, to w %build
>> zapewne wystarczy tylko:
>>
>> %{__python} setup.py build
>
> Tak przechodzi dalej, ale w %install jest dla odmiany użyte makro %py_install,
> które też się wywraca, bo w swojej treści zawiera to samo --build-base=build-2
I to też musisz podmienić na '%{__python} setup.py install' plus
odpowiednie flagi wybierające katalog docelowy, o ile to cudo w ogóle ma
taką opcję.
> Obstawiam, że wiele aplikacji używających makr %py_build i %py_install się
> teraz nie daje przebudować.
Nie ma obaw. Większośc się przebudowuje bez problemu. Ta jest inna, bo
te 'setup.py' nie jest normalne, tylko jakieś custom-cudo. O ile
pamiętam, to w Calibre wszystko było robione jakoś nienormalnie.
> Generalnie widać, że oba skrypty zawierają błędy: pierwszy dlatego, że
> wprowadza to --build-base, a drugi dlatego:
>
> + /usr/bin/python2 setup.py build '--build-base=build-2' install --skip-build
> '--prefix=/usr' '--install-purelib=/usr/share/python2.7/site-packages' '--
> install-platlib=/usr/lib/python2.7/site-packages' '--optimize=2' '--
> root=/tmp/calibre-2.47.0-root-ed' install '--libdir=/usr/lib'
>
> Jak widać - skoro install, to po cholerę jest tam "build" po setup.py?
Bo tak działają standardowe skrypty 'setup.py' standardowego pythonowego
distutils, albo alternatywnego setuptools. bez 'build' nie można podać
'--build-base', a bez '--build-base' install nie znalazło by plików
zbudowanych w %build i budowałoby jeszcze raz, mieszając pliki Pythona 2
i Pythona 3.
%py_build i %py_install są ok, tylko nie nadają się do calibre.spec, bo
'setup.py' od calibre to co innego niż 'setup.py' w >90% softu
pythonowego.
Jacek
More information about the pld-devel-pl
mailing list