[devel] Re: Q: Python packaging howto
Mikhail Zabaluev
=?iso-8859-1?q?mhz_=CE=C1_altlinux=2Eorg?=
Пн Фев 23 01:05:37 MSK 2004
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.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20040223/394b6831/attachment-0002.bin>
Подробная информация о списке рассылки Devel