Hello Alexey, On Sun, Feb 22, 2004 at 06:05:00AM +0600, Alexey Morozov wrote: > > > Есть ещё такая радикальная идея: бинарный пакет может именоваться и > > по-человечески, именем tarball'а, но предоставлять также имя, > > привязанное к версии ABI python. При этом могут использоваться > > скобочные схемы, например: > > python-abi(%modulename) = %__python_version > > > > После этого корректное прописывание зависимостей между пакетами > > модулей останется предметом policy. > Хочется не только решить проблему с зависимостями, но и решить проблему > с неединовременным перетеканием всего питоньего хозяйства из одной версии > в другую. Эта проблема решается другими, нетехническими, средствами. Правильно прописанные зависимости лишь позволят избежать иллюзии, что у вас есть необходимый вашему приложению модуль, когда под используемую версию python его нет. > > Достаточно определить макрос для уровня оптимизации, %python_optlevel, > > и использовать его в опции --optimize (с разумным fallback'ом). > Не только. Нужно еще понять, выделять ли в отдельный пакет (автоматически, > разумеется) .py. Этого делать не нужно. > > Точно так же, нет смысла в общем имени каталога /usr/lib/python > Есть. Для исходников (.py). Они НЕ БУДУТ использоваться напрямую, > а просто для "напосмотреть". А отладчик их там найдёт, если байт-код грузится из /usr/lib/python2.3? > > > %build > > > mkdir -p buildroot > > > > > > # Unfortunately build and install steps should be done at once > > > # because otherwise .pyo files won't get into INSTALLED_FILES > > > # record > > > > > > CFLAGS="%optflags" %__python setup.py \ > > > install --optimize=2 \ > > > --root=`pwd`/buildroot \ > > > --record=INSTALLED_FILES > > > %install > > > > > > cp -pr buildroot %buildroot/ > > Не увидел проблем при использовании обычной схемы: > Ну, это место я еще не оптимизировал. К тому же, я игрался на 2.2, там, > помнится, что-то странное происходило в этом месте. Ну и, я пока не понял, > как отнести управляемую байт-компиляцию в %build stage. Надо перепроверить. Байт-компиляция происходит в %install стадии, по команде install, и разработчики distutils не имеют ничего против: фактически, это действительно подготовка установленного модуля к работе с полной оптимизацией. В %build собираются лишь бинарные расширения. -- Stay tuned, MhZ JID: mhz@altlinux.org ___________ Getting the job done is no excuse for not following the rules. Corollary: Following the rules will not get the job done.