[devel] rpm-build-python-0.34-alt1 regression

Ivan Fedorov ns на altlinux.org
Пн Июн 8 19:46:02 MSD 2009


Alexey Tourbin <at-u2l5PoMzF/Uox3rIn2DAYQ на public.gmane.org> writes:

> Уважаемые мужички!
> Давайте рассмотрим конструкцию по делу.
>
> У нас есть несколько файлов:
> /usr/lib64/python2.5/site-packages/PIL.pth в нём написано "PIL" и допустим
> /usr/lib64/python2.5/site-packages/PIL/__init__.py
> /usr/lib64/python2.5/site-packages/PIL/Image.py
>
> В предположении, что каждый файл может предоставлять только один модуль
> (то есть в предположении, что PIL/Image.py должен дать только одну
> Provides-зависимость в пространстве питоновских модулей) нам нужно
> сформировать Provides.  При формировании Provides путь к файлу
> разбивается на две компоненты: стандартный каталог и оставшийся путь
> к модулю.  Причем стандартный каталог выбирается наиболее длинным,
> поскольку, например, site-packages является подкаталогом в стандартном
> каталоге.
>
> Так вот, PIL.pth задает в качестве стандартного каталога подкаталог PIL,
> и все Provides-зависимости отсчитываются от подкаталога PIL.  То есть
> будет что PIL/Image.py предоставляет python2.5(Image).  Новая версия
> python.prov.py работает правильно, насколько что по смыслу можно
> объяснить как она должна работать.
>
> Возможно, файл PIL.pth вообще не следует упаковывать.  Более того, его
> нужно удалить в %buildroot.  Тогда образуются Provides вида python2.5(PIL*).
>
> Примите и проч.

В данном случае, PIL вообще очень странная вещь. Они зачем-то
предоставлют и pth и __init__.py. Хотя если подумать, то вещи эти
вобщем-то противоположны.

Но из-за этого некоторые проекты используют PIL по разному. :(
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 196 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20090608/71c50e9c/attachment.bin>


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