[devel] Python3 modules
Vitaly Kuznetsov
vitty на altlinux.ru
Пт Янв 27 10:48:36 MSK 2012
Hi,
в Сизиф можно пробовать собирать модули Python3. Пример добавления
сборки модуля python3 можно посмотреть тут:
http://git.altlinux.org/people/vitty/packages/?p=python-module-pyinotify.git;a=blobdiff;f=python-inotify.spec;h=ae430437fd845b5b2f6e4bdfee1cd0fec2433efd;hp=e7ce7248c80122ca2a5d6d0caff4eb9addf0bb08;hb=d718aa362381a13aca7aaa30c491ac87a4e62181;hpb=03ef7c31960e761d7b2865c66f6b93265d42ad95
Макросы для сборки модулей python3 содержатся в пакете
rpm-build-python3 и аналогичны тем, что используются у нас для python.
Специфика:
1) При сборке модуля python3 из того же исходника, из которого
собирается модуль python требуется оборачивать такую сборку в %if_with
python3
2) Группа пакетов - Development/Python3
3) Python3/rpm-build-python3 - не базовая система, для использования
макросов нужно писать BuildRequires(pre): rpm-build-python3
4) Автоматический поиск Requires/Provides работает только для
%python3_sitelibdir{-noarch}. Возможно, стоит добавить механизм для
явного указания других путей (с исключением поиска там зависимостей с
помощью python2), я подумаю. В отличие от python зависимости на
python3-base генерируются явно (к примеру, "python3.2(os)").
5) Скомпилированные .pyo/.pyc у python3 кладутся в специальный каталог
__pycache__ в директории с исходником. Не забывайте их паковать.
При смене версии python3 потребуется полная пересборка. Если для сборки
вам требуется бутстрап - оставляйте, пожалуйста соответствующие ручки
вида %def_with, это сильно упрощает формирование задания на обновление.
Для этих же целей, наверное, стоит автоматически навешивать какую-нибудь
группу вида @python3 на все пакеты, из которых собралось что-то,
требующее python3.*(*).
Ошибки/пожелания приветствуются, передавайте их мне любым удобным для
вас способом.
Подробная информация о списке рассылки Devel