[devel] Q: python default byte-compilation paths list compilation

Dmitry V. Levin ldv на altlinux.org
Ср Фев 17 00:09:28 UTC 2010


On Tue, Feb 16, 2010 at 05:55:38PM +0300, Dmitry V. Levin wrote:
> > > $ rpm --showrc |fgrep -w _python_compile_include
> > > -14: _python_compile_include	%_target_libdir
> > > -14: add_python_compile_include	%global _python_compile_include
> > > %_python_compile_include %*
> > >
> > > т.е. оно обрабатывает только %_target_libdir, а содержимое
> > > %_target_libdir_noarch (в случае когда оно отличается от %_target_libdir),
> > > остаётся в стороне.
> > >
> > > Стало быть, надо исправить дефолтное значение %_python_compile_include
> > > таким образом, чтобы оно включало в себя %_target_libdir_noarch, если
> > > %_target_libdir_noarch != %_target_libdir.

Я посмотрел, где, помимо %_target_libdir/python%__python_version и
%_target_libdir_noarch/python%__python_version, у нас в Сизифе
встречаются модули для python, и обнаружил следующее:

- Некоторые модули находятся в экзотических местах, например:
/usr/include/wx-2.8/wx/wxPython/i_files/__init__.py
/usr/share/Tartarus/common/__init__.py
/usr/share/apps/kexi/kross/python/kexiapp/__init__.py
/usr/share/chestnut-dialer/chestnut_dialer/__init__.py
/usr/share/connexion/bus/__init__.py
/usr/share/decibel-audio-player/src/gui/__init__.py
Мне не очевидно, стоит ли автоматически запускаемый
/usr/lib/rpm/python.compileall.py распространять на них (сейчас этого
не происходит).

- Некоторые модули находятся в не менее экзотических местах, например:
/usr/lib/Tartarus/modules/Time/__init__.py
/usr/lib/bakefile/empy/__init__.py
/usr/lib/blender/scripts/bpymodules/colladaImEx/__init__.py
/usr/lib/calibre/calibre/__init__.py
/usr/lib/exaile/xl/__init__.py
/usr/lib/gdesklets/main/__init__.py
/usr/lib/gedit-2/plugins/devhelp/__init__.py
/usr/lib/gnue/__init__.py
/usr/lib/gwyddion/python/Gwyddion/__init__.py
/usr/lib/listen/parse/__init__.py
Мне не очевидно, стоит ли автоматически запускаемый
/usr/lib/rpm/python.compileall.py распространять на них (сейчас это
происходит)

Наконец, мне кажется нелогичным тот факт, что сейчас к
/usr/share/Tartarus/common/__init__.py и
/usr/lib/Tartarus/modules/Time/__init__.py применяются разные умолчания.

Даже если мы когда-нибудь передумаем, и byte-compilation переедет в
post-transaction filetrigger, то этот вопрос всё равно никуда не денется.

Просьба высказывать аргументированные точки зрения на
python default byte-compilation paths list.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20100217/e4352959/attachment-0001.bin>


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