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

Alexey Tourbin at на altlinux.ru
Пн Июн 8 20:08:12 MSD 2009


On Mon, Jun 08, 2009 at 11:56:18PM +0800, Terechkov Evgenii wrote:
> 08.06.2009 Mikhail Gusarov писал:
> 
> >  AT> Но это тогда значит, что каждый питоновский модуль может
> >  AT> предоставлять более одной зависимости Provides!  То есть его можно
> >  AT> загрузить как Image и как PIL.Image, и эти формы более-менее
> >  AT> равноправны.
> > Так и есть.
> > [dottedmag на vertex:~]% python
> > Python 2.5.4 (r254:67916, Feb 18 2009, 03:00:47) 
> > [GCC 4.3.3] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>> import Image
> > >>> Image.__file__
> > '/usr/lib/python2.5/site-packages/PIL/Image.pyc'
> > >>> import PIL.Image
> > >>> PIL.Image.__file__
> > '/usr/lib/python2.5/site-packages/PIL/Image.pyc'
> > >>> 
> 
> Хм. А если я сейчас упакую свой
> /usr/lib/python2.5/site-packages/PUL/Image.py + PUL.pth - то какой из
> пакетов вытянется тому, что затребует python2.5(Image)?

Зависимости не объясняют, какой пакет должен вытягиваться, они лишь
отражают фактическое положение дел.  Если в коде написано 'import Image'
то должна быть зависимость на python(Image).  А кого надо вытягивать это
совсем другая проблема.  Но, по крайней мере, зависимости должны
обеспечить, что инструкция import не отвалится сразу же с диагностикой
'not found'.

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


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