Python Policy
Версия от 23:59, 2 декабря 2015; VitalyLipatov (обсуждение | вклад)
Правила упаковки модулей и программ на языке 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