[devel] buildreq & python3-module-zope (a pure namespace package); Re: Пересборка питона
Ivan Zakharyaschev
imz на altlinux.org
Ср Мар 23 13:45:02 MSK 2016
On Wed, 23 Mar 2016, Denis Medvedev wrote:
>> > Простите, я потерял ход событий. Правильно ли я понимаю, что это все
>> > оставшиеся пакеты, которые не собираются?
>> > Или это только верхушка айсберга?
>>
>> Это в каком-то смысле верхушка небольшого айсберга, но только оно нас
>> должно волновать.
>>
>> Если эти 10 собрать, остальные соберутся.
>>
>>
> Вдогонку, mistune и zope.interface из этого списка уже можно вычеркнуть.
Узнав, как nbr@ сделал zope.interface собираемым (просто убрав всякие
BuildRequires на zope.*, и оно собралось без заметных изменений
результата), я подумал (с учётом того, что при пересборке легонько
сталкивался с пакетами zope, т.к. они не переезжали в
python3/site-packages в произвольном порядке), что buildreq из-за какой-то
особой для zope фигни даёт такие зависимости.
Собственно вот:
$ filereq filereqs-zope.interface rpm -bc RPM/SPECS/python-module-zope.interface.spec
$ rpm -qa 'python3-module-zope*' -l | fgrep -x -f filereqs-zope.interface
/usr/lib64/python3/site-packages/zope.event-4.0.3-py3.3.egg-info/namespace_packages.txt
/usr/lib64/python3/site-packages/zope/__init__.py
/usr/lib64/python3/site-packages/zope.interface-4.1.3.dev0-py3.3.egg-info/PKG-INFO
/usr/lib64/python3/site-packages/zope.interface-4.1.3.dev0-py3.3.egg-info/namespace_packages.txt
/usr/lib64/python3/site-packages/zope.fixers-1.1.2-py3.3.egg-info/entry_points.txt
/usr/lib64/python3/site-packages/zope.fixers-1.1.2-py3.3.egg-info/namespace_packages.txt
$ cat /usr/lib64/python3/site-packages/zope/__init__.py
# <...>
# This file is necessary to make this directory a package.
try:
# Declare this a namespace package if pkg_resources is available.
import pkg_resources
pkg_resources.declare_namespace('zope')
except ImportError:
pass
$ cat /usr/lib64/python3/site-packages/zope.fixers-1.1.2-py3.3.egg-info/namespace_packages.txt
zope
$ cat /usr/lib64/python3/site-packages/zope.fixers-1.1.2-py3.3.egg-info/entry_points.txt
[console_scripts]
zope-2to3 = zope.fixers.main:main
$
Если это игнорировать по некому разумному правилу, то самое непонятное с
PKG-INFO. Там есть какая-то информация, и оно при сборке читалось не у
всех пакетов, а только у одного.
Нельзя же считать, что если было обращение к PKG-INFO только (без других
файлов пакета), то пакет никак существенно при сборке не используется и
соберётся в его отсутствии?
С улучшенными правилами для buildreq, можно было бы автоматически
избавиться от части лишних BuildRequires на zope, но у нас сейчас среди
проблемных остался всего один такой (python-module-zope.container),
который не лезет в сборочную среду к другим проблемным (напишу обновлённый
граф зависимостей в следующем письме). Так что это не очень актуальный
массовый фикс сейчас.
--
Best regards,
Ivan
Подробная информация о списке рассылки Devel