[devel] вопрос по сборке python-module

Kirill Maslinsky =?iso-8859-1?q?kirill_=CE=C1_altlinux=2Eru?=
Чт Мар 31 15:52:27 MSD 2005


Привет!

> модуль, то и питон этот модуль, скорее всего, не найдет. Ставить один из выше приведенных
> операторов имеет смысл только в том случае, если вы стопудово уверены, что имеете
> дело с одним из тех редких случаев, когда это рекомендовано в FAQ. В остальных случаях
> стоит поискать проблему в вашем пакете. Типичный случай - модуль импортируется из того
> участка кода, который не вызывается при ваших тестах, и этот модуль оттуда действительно недоступен.
> 
> Пример:
> 
> site-packages/a
> site-packages/a/b
> site-packages/a/b/test.py (содержит import b)
> site-packages/a/b/__init__.py
> site-packages/a/__init__.py (содержит import b)
> 
> Вот в такой ситуации модуль a полностью работоспособен (т.е. python -c "import a" отрабатывает без ошибок),
> но в нем лежит (не откуда не вызываемый) файлик test.py, который __не__ работоспособен, так
> как не видит (не может видить), в общем случае, подмодуль b. И именно он порождает спорную зависимость.

Похоже, у меня не этот случай:

$ fgrep -r audio_zip * 
positron/db/new/__init__.py:import audio_zip
positron/db/new/__init__.py:import pcaudio_zip
positron/db/new/__init__.py:zips = { "audio"      : audio_zip.data,
positron/db/new/__init__.py:         "pcaudio"    : pcaudio_zip.data,
positron/db/new/audio_zip.py:"""Resource audio_zip (from file audio.zip)"""
positron/db/new/pcaudio_zip.py:"""Resource pcaudio_zip (from file pcaudio.zip)"""

При этом provides audio_zip без проблем обнаруживается автоматически, 
а pcaudio_zip -- нет. И вроде бы они употребляются абсолютно симметрично
и даже в соседних строках (выше приведён полный вывод fgrep по 
исходникам программы).

> Я такие файлы обычно так или иначе удаляю из пакета... . Некоторые другие способы описаны в FAQ.
> У вас может быть и другой случай, некоторые из них тоже описаны в FAQ. 
Я как будто бы подходящего случая в FAQ не нашёл. Или есть?

> В любом случае, если %add_python_req_skip не нарушает общей логики репозитория (вы вредите только себе), 
А чем врежу? Что программа сама на найдёт этот модуль? Но у меня работает -- я 
давно ею пользуюсь, просто сейчас решил собрать с 2.4 и выложить в Сизиф.

> то  %py_provides - это точно только для тех, кто точно знает, что делает. Общий ответ такой: если вы размышляете,
> стоит ли использовать %py_provides - то это значит, что не стоит. По крайней мере вам.
> 
> ЗЫ: Кстати, заявки на разбор полетов таких модулей по прежнему принмаются на python на neural.ru или в багзиллу 
> на rpm-build-python. 
Это можно, если имеет смысл (исходя из вышепроцитированного). 
И какая информация нужна, чтобы разобраться -- исходники целиком?

-- 
Kirill Maslinsky
ALT Linux Documentation Team
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20050331/263f8272/attachment-0001.bin>


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