При пересборке у python3-module-zeitgeist2.0 возникает зависимость на python3(datamodel), который никем не предоставляется: https://git.altlinux.org/tasks/326944/logs/events.1.1.log Это не даёт пересобрать zeitgeist под loongarch64.
Похоже это из-за изменения поведения 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",