Summary: | python3-module-zeitgeist2.0 приобретает unmet при пересборке | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Ivan A. Melnikov <iv> |
Component: | rpm-build-python3 | Assignee: | Ivan Zakharyaschev <imz> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | aris, asheplyakov, darktemplar, george, glebfm, imz, kotopesutility, lav, ldv, sin, slev, vitty |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Ivan A. Melnikov
2023-08-11 17:01:43 MSK
Похоже это из-за изменения поведения rpm-build-python3. (Ответ для Ivan A. Melnikov на комментарий #1) > Похоже это из-за изменения поведения rpm-build-python3. Наверняка, так. Это справедливо, что автоматический обработчик такую зависимость видит (запущенный без подсказок). Если взять код из пакета, попробовать импортировать как модуль, то эта зависимость не найдётся: [imz@altair imz]$ p=python3-module-zeitgeist2.0; hsh --without-stuff --ini ~/hasher2 && hsh-install ~/hasher2/ "$p" tests-for-installed-python3-pkgs && hsh-run ~/hasher2/ --mount=/proc,/dev/pts -- bash -c "rpm -q $p; rpm -q $p --provides; echo 'Non-importable:'; /usr/lib/rpm/check-python3-provs-importable $p" python3-module-zeitgeist2.0-1.0.4-alt1.noarch python3(zeitgeist) python3(zeitgeist._ontology) python3(zeitgeist.client) python3(zeitgeist.datamodel) python3(zeitgeist.mimetypes) python3-module-zeitgeist2.0 = 1.0.4-alt1:sisyphus+293446.100.1.1 Non-importable: zeitgeist._ontology zeitgeist.client zeitgeist.mimetypes [imz@altair imz]$ hsh-run ~/hasher2/ --mount=/proc,/dev/pts -- python3 -c 'import zeitgeist._ontology' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3/site-packages/zeitgeist/_ontology.py", line 4, in <module> Symbol('ACCEPT_EVENT', parent={'http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#EventInterpretation'}, uri='http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#AcceptEvent', display_name='ACCEPT_EVENT', doc='Event triggered when the user accepts a request of some sort. Examples could be answering a phone call, accepting a file transfer, or accepting a friendship request over an IM protocol. See also DenyEvent for when the user denies a similar request', auto_resolve=False) ^^^^^^ NameError: name 'Symbol' is not defined [imz@altair imz]$ hsh-run ~/hasher2/ --mount=/proc,/dev/pts -- python3 -c 'import zeitgeist.client' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3/site-packages/zeitgeist/client.py", line 1100, in <module> _FIND_EVENTS_FOR_TEMPLATES_ARGS = inspect.getargspec( ^^^^^^^^^^^^^^^^^^ AttributeError: module 'inspect' has no attribute 'getargspec'. Did you mean: 'getargs'? [imz@altair imz]$ hsh-run ~/hasher2/ --mount=/proc,/dev/pts -- python3 -c 'import zeitgeist.mimetypes' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3/site-packages/zeitgeist/mimetypes.py", line 24, in <module> from datamodel import Interpretation, Manifestation ModuleNotFoundError: No module named 'datamodel' [imz@altair imz]$ Ну там специфический код, который даже не загружается как модули, но разложен как модули в общедоступных местах. Можно было бы спрятать в другое место. (Предварительное замечание.) Независимо от места, можно дать такие указания (с поправкой на новый путь, если оно будет туда спрятано), в таком духе (первое говорит, что есть модули по особому пути, второе разрешает удволетворять импорты по особому пути): %add_python3_path /usr/lib/python3/site-packages/zeitgeist %allow_python3_import_path /usr/lib/python3/site-packages/zeitgeist или может новое указание (думаю, недавно было добавлено после отключения неточной обработки self-provides ради объезда таких всплывающих проблем): %add_python3_self_prov_path /usr/lib/python3/site-packages/zeitgeist datamodel рядом лежит. Вот, если бы ваш rpm-build-python3 такие вещи ловил. --- python/mimetypes.py.imp 2023-01-11 13:02:39.000000000 +0300 +++ python/mimetypes.py 2023-08-15 10:18:34.394845978 +0300 @@ -21,7 +21,7 @@ import re -from datamodel import Interpretation, Manifestation +from zeitgeist.datamodel import Interpretation, Manifestation __all__ = [ "get_interpretation_for_mimetype", zeitgeist-1.0.4-alt2 -> sisyphus: Tue Aug 15 2023 Yuri N. Sedunov <aris@altlinux> 1.0.4-alt2 - updated to v1.0.4-2-g33ab4cce - fixed build against newer rpm-build-python3 (ALT #47206) (Ответ для Yuri N. Sedunov на комментарий #4) > datamodel рядом лежит. Вот, если бы ваш rpm-build-python3 такие вещи ловил. А что значит "ловил"? Он и поймал, в моём понимании. (Что ещё может быть нужно?) Другой вопрос, являлся ли этот код неправильным или всё-таки так и было задумано и этот код мог бы в специфическом окружении работать... > --- python/mimetypes.py.imp 2023-01-11 13:02:39.000000000 +0300 > +++ python/mimetypes.py 2023-08-15 10:18:34.394845978 +0300 > @@ -21,7 +21,7 @@ > > import re > > -from datamodel import Interpretation, Manifestation > +from zeitgeist.datamodel import Interpretation, Manifestation > > __all__ = [ > "get_interpretation_for_mimetype", |