[devel] Сборка пакетов, содержащих .py

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Янв 13 16:16:18 MSK 2004


On Tue, Jan 13, 2004 at 07:02:37PM +0600, Alexey Morozov wrote:
> Проблема:
> 
> Имеется некоторый пакет (python-doc-tools), который, по сути своей,
> набор макросов, скриптов итп. Среди макросов встречаются .py.
> 
> Установка этого пакета предельно проста: тарболл разворачивается, по
> сути, в некоторое место в [%buildroot]/usr/share.
> 
> Соответственно, никаких вызовов питона или чего-нить подобного нету.
> Более того, хотелось бы _НЕ_ компилировать питон в байткод, потому что
> там, в общем, ничего серьезного или постоянно загружаемого нет. Временем
> загрузки тех скриптов можно пренебречь с хорошей долей уверенности.
> 
> Однако /usr/lib/rpm/brp-alt БЕЗ ВАРИАНТОВ запускает
> /usr/lib/rpm/brp-bytecompile-python, что приводит к двум нежелательным
> последствиям:
> 
> 1. Появляются .pyo. Как меня уверяли (кто-то из команды, занимающийся
> сборкой питона & Co), байткод от разных версий питона непереносим, хуже
> того, совместимости даже взад никто не обещал. Как следствие, происходит
> неявная привязка к версии питона, которая стояла в момент загрузки. Это
> ПЛОХО.
> 
> 2. Т.к. rpm-build НЕ ТРЕБУЕТ python'а, хотя и пользуется им вне зависимости
> от желаний сборщика, сборка в хэшере обламывается, хотя, в общем, пакет
> совсем не должен отвечать ни за что, что лежит за пределами его .spec и
> прочих его сорцов.
> 
> С этим НАДО ЧТО-ТО ДЕЛАТЬ :-)).

Есть набор workaround'ов:

1. %undefine __python:
выключает всю логику поддержки python, в т.ч. и
/usr/lib/rpm/brp-bytecompile-python

2. unset RPM_PYTHON в конце %install выключает
/usr/lib/rpm/brp-bytecompile-python

3. "buildreq -bi" умеет обнаруживать сборочные зависимости на python.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20040113/7b5409f1/attachment-0001.bin>


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