[devel] Сборка модулей python на x86_64

Ivan A. Melnikov =?iso-8859-1?q?iv_=CE=C1_altlinux=2Eorg?=
Ср Дек 17 15:29:14 MSK 2008


On Tuesday 16 December 2008 23:52:18 Dmitry V. Levin wrote:
> On Tue, Dec 16, 2008 at 11:46:16PM +0300, Vitaly Lipatov wrote:
[...]
>
> > Речь о том, что site-packages прибит гвоздями к /lib/
> > /usr/lib64/python2.5/distutils/command/install.py
> >         'purelib': '$base/lib/python$py_version_short/site-packages',
> >
> > Может кто-нибудь прокомментировать это или мне выложить
> > python-dev с патчем?
>
> Вопрос, какая связь у purelib с libdir?
> В частности, как должен выглядеть purelib на noarch?

Судя по комментариям в том же файле, purelib означает "installation directory 
for pure Python module distributions". Видимо, его имеет смысл держать 
где-нибудь в %_datadir (/usr/share/pythonX.Y/...), и соответсвующие пакеты 
собирать как noarch.

Насколько мне известно, на данный момент единственной причиной зависимости от 
архитектуры многих модулей питона является именно то, что они находятся 
внутри %_libdir.

Пропатчить python в этом направлении несложно. Потребуются также 
дополнительный макрос в rpm-build-python, аналагичный %python_sitelibdir, 
например %python_sitescriptdir. 

Но торопиться с этим имхо не стоит.

Ещё один момент.  Не совсем ясна связь между этим самым purelib и
distutils.sysconfig.get_python_lib(plat_specific=0).

Ещё один момент. /usr/lib/python2.5/site-packages находится в sys.path, так 
что пакеты, кладущие файлы в lib даже вполне себе работают. Правда, это 
нарушает policy и ведет к ряду дополнительных проблем.

Например, пока писал это письмо, нашел баг в rpm-build-python-0.33-alt1.1: 
в этом пакете есть файл /usr/lib/python2.5/distutils/command/bdist_altrpm.py. 
Естественно, import distutils.command.bdist_altrpm не проходит, поскольку 
модуль distutils находится в /usr/lib64/... и там такого файлика нет.

Вот через пару часов наверное уже придёт sin@ и начнёт всё чинить.

-- 
Best regards,
Ivan A. Melnikov <iv на altlinux.org>


Подробная информация о списке рассылки Devel