On Mon, Jun 08, 2009 at 11:19:07PM +0800, Terechkov Evgenii wrote: > > В предположении, что каждый файл может предоставлять только один модуль > > (то есть в предположении, что PIL/Image.py должен дать только одну > > Provides-зависимость в пространстве питоновских модулей) нам нужно > > сформировать Provides. При формировании Provides путь к файлу > > разбивается на две компоненты: стандартный каталог и оставшийся путь > > к модулю. Причем стандартный каталог выбирается наиболее длинным, > > поскольку, например, site-packages является подкаталогом в стандартном > > каталоге. > > > > Так вот, PIL.pth задает в качестве стандартного каталога подкаталог PIL, > > и все Provides-зависимости отсчитываются от подкаталога PIL. То есть > > будет что PIL/Image.py предоставляет python2.5(Image). Новая версия > > python.prov.py работает правильно, насколько что по смыслу можно > > объяснить как она должна работать. > > Спасибо за объяснение. Виноват - обратил внимание на отсутствие > python2.5(PIL*), но не заметил странных python2.5(Image) Надо подумать, как должен работать python.prov.py. :) Я стал склоняться к мысли, что действительно имеется регрессия (ухудшение). Но это тогда значит, что каждый питоновский модуль может предоставлять более одной зависимости Provides! То есть его можно загрузить как Image и как PIL.Image, и эти формы более-менее равноправны. В существующем (ранее собранном) пакете как раз предоставляются две эти зависимости. $ rpm -qp --provides python-module-imaging-1.1.6-alt2.x86_64.rpm |grep -w Image python2.5(Image) python2.5(PIL.Image) $ > > Возможно, файл PIL.pth вообще не следует упаковывать. Более того, его > > нужно удалить в %buildroot. Тогда образуются Provides вида python2.5(PIL*). > > Я попробовал пересобрать пакет без этого файла (в т.ч. и в %buildroot) > - Provides остались в том же виде - python2.5(Image). Видимо надо > действовать как-то ещё. Видимо надо как-то действовать!