[devel] Переходное полиси для для питона

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Окт 26 21:23:54 MSD 2007


Похоже, нескольких питонов в репозитарии никогда не будет (по крайней
мере на системном и хорошо юзабельном уровне).  Кроме того, даже когда
в репозитарии было два питона, программа сборки дополнительных
питоновских модулей в двух штуках под каждый питон никогда не была
реализована (даже частично).

В обозримом будущем планируется переход на питон 2.5.
В связи с этим дальше лелеять надежны насчёт двух питонов я не вижу
смысла.

В последнее время было решено много мелких проблем по части питона,
которые однако в целом кое-что упрощают и позволяют отказаться от ряда
хаков в связи со старым полиси.

Я предлагаю переходное полиси для питона.  Оно устремлено к переходу
на 2.5, но его можно использовать уже сейчас.  В двух словах это полиси
состоит в том, что никакого полиси в общем-то нет.  Питоновские пакеты
не считаются какими-то особенными и не требуют специального полиси.

Предлагаю делать следующее.

0) Установить python-dev 2.4.4-alt13 (залит в incoming,
скоро будет в сизифе).
1) Вычистить из python-module-*.spec всё что специфично
для старого полиси.  В частности, не использовать макрос
в %name.
2) Запустить buildreq, который должен проставить зависимость
на python-devel (и на что-то ещё).
3) Убрать все питоновские зависимости, проставленные вручную,
в частности, python = %__python_version.  Поиск зависимостей
был докручен до более юзабельного состояния, и все безусловные
(top-level) зависимости теперь проставляются как в модулях,
так и в скриптах.  Поэтому "жирная" зависимость на python
не нужна (в ряде случаев достаточно python-base).  Также нужно
попробовать вычистить все хаки типа %add_python_req_skip.
Неправильных питоновских анметов теперь в основном не будет.
4) Убедиться, что если модуль компилированный, то у пакета автоматически
появилась зависимость на libpython2.4.so.1.0.  (По этой причине как
минимум у компилированных модулей можно не выставлять зависимость на
версию питона, как того требовало старое полиси).

Короче, предложенное переходное полиси в основном сводится к тому,
чтобы почистить спек и запустить buildreq.  То есть мотивирующая идея
здесь состоит в том, что полиси вгоняется "вглубь" сборочной среды
и реализуется автоматически, а не на уровне дополнительных манипуляций
в spec-файле.  Правда, конструкция становится более жесткой.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20071026/7fe9d8e8/attachment-0002.bin>


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