From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Andrey Orlov To: ALT Devel discussion list Subject: Re: [devel] =?koi8-r?b?18/Q0s/TINDPINPCz9LLxQ==?= python-module Date: Thu, 31 Mar 2005 15:09:17 +0400 User-Agent: KMail/1.7.1 References: <20050331072237.GA9500@oblomov.office.etersoft.ru> In-Reply-To: <20050331072237.GA9500@oblomov.office.etersoft.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200503311509.18645.cray@neural.ru> X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2005 11:09:27 -0000 Archived-At: List-Archive: List-Post: 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 --- ----------------------------------------