On Wed, Mar 14, 2007 at 01:12:39AM +0300, Alexey Tourbin wrote: > > > Кроме того, будут проблемы с питоном, потому что `#!/usr/bin/env python' > > > теперь отыскиваются слишком хорошо. > > > > Что значит "слишком хорошо" и что значит "будут проблемы с питоном"? > > Слишком хорошо означает что для #!/usr/bin/env python будет вызван > FindPackage "$f" /usr/bin/env python. > > $ /usr/lib/rpm/shebang.req -v /usr/lib/rpm/python.req.py > shebang.req: /usr/lib/rpm/python.req.py: /usr/bin/env -> coreutils (via rpmdb) > coreutils > shebang.req: /usr/lib/rpm/python.req.py: python -> /usr/bin/python -> ... (via which) > shebang.req: /usr/lib/rpm/python.req.py: /usr/bin/python -> python-strict (via rpmdb) > python-strict > $ > > А пакет python-strict, грубо говоря, требует все остальные пакеты, на > которые распилен питон. Последнее явно неприемлемо для базовой > сборочной системы (тогда как внесение python-base в базовую систему > кажется мне приемлемым). > > У пакета rpm-build-python вообще никакой зависимости на python нету, > т.е. это такой дохляк, который прямо начиная с #! может не запуститься > и отвалить, а это противоречит нашему принципу что всё более-менее > должно работать из коробки без всяких там грубых посыланий и доустановок. > > Хуже того, если я правильно понимаю, то скрипты из rpm-build-python > всячески скрывают свои зависимости, и если им чего-то не хватает, то они > отваливают абсолютно тихо, по-подлому. > > python.req: > 35 try : > 36 import sys, os > 37 import parser, symbol, token, types > 38 except : > 39 pass > 40 else : > > После else идет весь реальный код. Такая же история с python.prov.py. > Т.е. мы можем не только недосчитаться requires зависимостей, но и > пропустить provides зависимости, а это уже чревато анметами в > репозитарии. И, как известно, в репозитарии больше всего именно > питоновских анметов. В общем, такой лажи быть не должно. > > Резюмирую, что мне кажется рационально нужно сделать с питоном. > > 1) пересмотреть как питон распилен. python-base должен давать работающий > /usr/bin/python и достаточно модулей для работы rpm-build-python. Тогда > можно раскрыть зависимости в rpm-build-python и внести python-base в > базовую сборочную систему. > > 2) Изменить rpm-build-python чтобы если там чево-то отваливает то чтобы > хотя бы сообщал, что, мол, отваливаю, и чево не хватает. А ещё лучше > чтобы просто отваливал, как следует. Ну что, специалисты по питону есть, или мне придется взять быка за рога?