Python Policy

Материал из ALT Linux Wiki
Stub.png
Черновик политики Sisyphus
Автор(ы) — sin@
Обсуждение в devel@
Обсуждается с 21.07.2009


Правила упаковки модулей и программ на языке Python.

Общие соображения

Основные термины

Технический регламент

С версии rpm-build-python=0.34.4-alt4 появился макрос %_python_version, призванный заменить макрос %__python_version. Во избежание использования в спеках макросов с двумя подчёркивания в начале названия.

Рекомендуется запаковывать тесты и примеры (содержимое каталогов %python_sitelibdir/*/test* и %python_sitelibdir/*/example*) в отдельный пакет (с одним из суффиксов: -devel, -tests, .tests, -testing, -examples).

Нерешенные проблемы

[17:31:35] <vlasenko> 
Requires: python-dev сейчас добавляются автоматически, 
насколько я понял, проблемв в том, что эта зависимость добавляется автоматом, т.е. я человека ругаю, а убрать он ее не может.

[17:39:23] <Sin> Вообще ругать нужно... нужно проверить то, что указано в последнем тексте python-policy, на который я опирался:
    3.  Указание зависимостей
        3.1.    Пакет ДОЛЖЕН содержать явно указанную зависимость на версию питона,
            использованного при его сборке. Такая зависимость вводится указанием
            следующих операторов::

                Requires: python = %__python_version

                BuildPreReq: python-devel = %__python_version

            Замечание: Из-за некоторых тонкостей реализации apt, пришлось
                отказатся от того, чбы держать в дистрибутиве пакет с именем
                python-devel и он провайдится пакетом python-dev, в то же
                время указывать зависимость на пакет python-dev
                __абсолютно__ недопустимо. Объяснения и споры могут быть
                очень долгими, но иначе это не работает.  Некоторые подробности
                изложены в FAQ Q20. Если вы считаете, что есть другое
                решение, или у вас возникают какие-то проблемы из-за этого -
                спишитесь с мантейнерами полиси;

[17:41:53] <Sin> Да, насколько я понял она, эта зависимость взялась из учёта файла, который требуется и принадлежит пакету python-dev
 Вот его автомат и указывает. Там нужен костыль.

Бага по поводу вытягивания python-dev при проверке версии загруженного модуля: https://bugzilla.altlinux.org/show_bug.cgi?id=31587

Ссылки