ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] вопрос по сборке python-module
@ 2005-03-31  7:22 Kirill Maslinsky
  2005-03-31  8:53 ` Vitaly Lipatov
  2005-03-31 11:09 ` Andrey Orlov
  0 siblings, 2 replies; 5+ messages in thread
From: Kirill Maslinsky @ 2005-03-31  7:22 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 504 bytes --]

Добрый день!

Коллеги, кто хорошо разбирается в python policy? ;)

Имеется программа на питоне, собираю в соответствии с инструкциями 
в пакете rpm-build-python (0.21). Автоматический поиск provides
не находит один из модулей, который в мою программу входит, и ставит
его в зависимости. Как правильно с этим бороться: 

%add_python_req_skip pcaudio_zip

или

%py_provides pcaudio_zip

?

Или принципиальной разницы нет? 
Спасибо!

-- 
Kirill Maslinsky
ALT Linux Documentation Team

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] вопрос по сборке python-module
  2005-03-31  7:22 [devel] вопрос по сборке python-module Kirill Maslinsky
@ 2005-03-31  8:53 ` Vitaly Lipatov
  2005-03-31 11:09 ` Andrey Orlov
  1 sibling, 0 replies; 5+ messages in thread
From: Vitaly Lipatov @ 2005-03-31  8:53 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thursday 31 March 2005 11:22, Kirill Maslinsky wrote:
> поиск provides не находит один из модулей, который в мою
> программу входит, и ставит его в зависимости. Как правильно с
> этим бороться:
>
> %add_python_req_skip pcaudio_zip
Лучше так, чтобы было меньше зависимостей, а то АПТу всё хуже и 
хуже с каждым пакетом.

-- 
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! LaTeX! LyX!


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] вопрос по сборке python-module
  2005-03-31  7:22 [devel] вопрос по сборке python-module Kirill Maslinsky
  2005-03-31  8:53 ` Vitaly Lipatov
@ 2005-03-31 11:09 ` Andrey Orlov
  2005-03-31 11:52   ` Kirill Maslinsky
  1 sibling, 1 reply; 5+ messages in thread
From: Andrey Orlov @ 2005-03-31 11:09 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thursday 31 March 2005 11:22, Kirill Maslinsky wrote:
> Имеется программа на питоне, собираю в соответствии с инструкциями 
> в пакете rpm-build-python (0.21). Автоматический поиск provides
> не находит один из модулей, который в мою программу входит, и ставит
> его в зависимости. Как правильно с этим бороться: 
> 
> %add_python_req_skip pcaudio_zip
> 
> или
> 
> %py_provides pcaudio_zip

Это python faq, а не полиси. Проблема в том, что если автоматический поиск не находит
модуль, то и питон этот модуль, скорее всего, не найдет. Ставить один из выше приведенных
операторов имеет смысл только в том случае, если вы стопудово уверены, что имеете
дело с одним из тех редких случаев, когда это рекомендовано в 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. И именно он порождает спорную зависимость.

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

В любом случае, если %add_python_req_skip не нарушает общей логики репозитория (вы вредите только себе), 
то  %py_provides - это точно только для тех, кто точно знает, что делает. Общий ответ такой: если вы размышляете,
стоит ли использовать %py_provides - то это значит, что не стоит. По крайней мере вам.

ЗЫ: Кстати, заявки на разбор полетов таких модулей по прежнему принмаются на python@neural.ru или в багзиллу 
на rpm-build-python. 

-- 
WthBstRgrds -- Андрей Орлов --  
 --- http: www.neural.ru, mail: cray@neural.ru, jid: cray@altlinux.org ---
----------------------------------------


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] вопрос по сборке python-module
  2005-03-31 11:09 ` Andrey Orlov
@ 2005-03-31 11:52   ` Kirill Maslinsky
  2005-03-31 22:39     ` Andrey Orlov
  0 siblings, 1 reply; 5+ messages in thread
From: Kirill Maslinsky @ 2005-03-31 11:52 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2716 bytes --]

Привет!

> модуль, то и питон этот модуль, скорее всего, не найдет. Ставить один из выше приведенных
> операторов имеет смысл только в том случае, если вы стопудово уверены, что имеете
> дело с одним из тех редких случаев, когда это рекомендовано в 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

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] вопрос по сборке python-module
  2005-03-31 11:52   ` Kirill Maslinsky
@ 2005-03-31 22:39     ` Andrey Orlov
  0 siblings, 0 replies; 5+ messages in thread
From: Andrey Orlov @ 2005-03-31 22:39 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thursday 31 March 2005 15:52, Kirill Maslinsky wrote:
> Похоже, у меня не этот случай:
> 
> $ 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)"""

Хм. Интересно. На первый взгляд действительно - не этот

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

:) Будет

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

Чем вредите? Тем что кладете потенциально неисправный пакет в сизиф. Такое поведение является ошибкой. Где ошибка - 
в rpm-build-python или у вас в пакете - отдельный вопрос. Но есть значимая вероятность, что у вас. Ошибки нужно искать,
а не прятать голову в песок.

> > ЗЫ: Кстати, заявки на разбор полетов таких модулей по прежнему принмаются на python@neural.ru или в багзиллу 
> > на rpm-build-python. 
> Это можно, если имеет смысл (исходя из вышепроцитированного). 

Имеет.

> И какая информация нужна, чтобы разобраться -- исходники целиком?

src.rpm. Если до 2х метров - можно мылом на python@neural.ru

-- 
WthBstRgrds --
 -- Andrey Orlov --


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-03-31 22:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-31  7:22 [devel] вопрос по сборке python-module Kirill Maslinsky
2005-03-31  8:53 ` Vitaly Lipatov
2005-03-31 11:09 ` Andrey Orlov
2005-03-31 11:52   ` Kirill Maslinsky
2005-03-31 22:39     ` Andrey Orlov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git