> Zope-2.7.7-alt1 > /usr/lib/rpm/python.req.py: > /usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/xmlrpc.py: > line=157 IGNORE module=traceback > /usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/Client.py: > line 47: syntax error near unexpected token `(' > /usr/src/tmp/Zope-buildroot/usr/lib/python2.4/site-packages/ZPublisher/Client.py: line 47: > `class BadReply(Exception):' > error: /bin/sh failed > error: Failed to find Requires > RPM build errors: Файл ZPublisher/Client.py начинается так: $ rpmpeek Zope-ZPublisher-2.7.7-alt1.i586.rpm head -5 ./usr/lib/python2.4/site-packages/ZPublisher/Client.py #!/bin/sh """:" exec python $0 ${1+"$@"} """ #" $ Раньше этот скрипт определялся ТОЛЬКО как шелл скрипт. Это связано со старой логикой обработки скриптов в find-requires. if шелл скрипт; then найти шелл зависимости elif перл скритп; then найти перл зависимости elif питон скрипт найти питон зависимости elif tcl скрипт найти tcl зависимости fi То есть раньше поиск питоновских зависимостей в этом файле просто не срабатывал, потому что он определялся как шелл-скрипт. В новом rpm-build поиск зависимостей каждого типа идет полностью независимо. Это значит, что определение данного скритпа как шелл-скрипта (из-за #!/bin/sh) не может помешать его последующему определению как питон скрипта (из-за расширения *.py). Новый подход в целом более правильный. В общем, питон теперь просто не может распарсить этот код. К сожалению, с ходу я не могу сказать, почему питон не может распарсить этот код. $ rpmpeek Zope-ZPublisher-2.7.7-alt1.i586.rpm cat -n ./usr/lib/python2.4/site-packages/ZPublisher/Client.py |grep -w -C2 47 45 from urlparse import urlparse 46 47 class BadReply(Exception): 48 pass 49 $