Bug 40737

Summary: Зависит сам от себя
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: python3Assignee: Grigory Ustinov <grenka>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: george, glebfm, grenka, imz, vitty
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Vitaly Lipatov 2021-08-15 03:42:53 MSK
$ apt-cache whatdepends python3-modules-sqlite3
  python3-modules-sqlite3-3.9.6-alt1:sisyphus+276295.100.1.1@1624964289
    Требует: <python3(_sqlite3)>
      python3-modules-sqlite3-3.9.6-alt1:sisyphus+276295.100.1.1@1624964289

 $ rpm -q --requires python3-modules-sqlite3
...
python3(_sqlite3) < 0

 $ rpm -q --provides python3-modules-sqlite3
...
python3(_sqlite3)
Comment 1 Grigory Ustinov 2021-08-16 16:51:04 MSK
Это кому-то мешает?
Comment 2 Grigory Ustinov 2021-09-08 17:36:58 MSK
Виталий, какое поведение ожидается? Можете дать небольшой комментарий?
Comment 3 Vitaly Lipatov 2021-09-08 18:27:42 MSK
(Ответ для Grigory Ustinov на комментарий #2)
> Виталий, какое поведение ожидается? Можете дать небольшой комментарий?

Сначала я думал, что проблема общеизвестная, и её просто не замечали.
Как мне кажется, модули python не должны порождать зависимости, которые сами же провайдят.

Если ничего специального для такого requires в спеке нет, то я повесил багу не на тот компонент (надо на rpm-build-python3), и вообще это не проблема.

Если вы считаете, что проблемы в этом нет, давайте задачу закроем.

По моему разумению, python3(_sqlite3) вообще не должен быть в provides/requires, потому что это внутренний модуль, а публичный это python3(sqlite3).
Comment 4 Grigory Ustinov 2021-09-08 19:04:38 MSK
Насколько (Ответ для Vitaly Lipatov на комментарий #3)
> Если вы считаете, что проблемы в этом нет, давайте задачу закроем.

Там в явном виде:
from _sqlite3 import *
в файле
python3/Lib/sqlite3/dbapi2.py

То есть он сам его порождает и сам им же пользуется. С точки зрения логики никаких проблем. Проблема в том, что это "видно снаружи"? Пожалуй, но вряд ли это проблема rpm-build-python3, потому что тут всё честно.

Можно попробовать "спрятать" такое поведение макросами типа req_skip и filter_from_provides, но стоит ли?
Comment 5 Vitaly Lipatov 2021-09-08 19:41:00 MSK
(Ответ для Grigory Ustinov на комментарий #4)
> Насколько (Ответ для Vitaly Lipatov на комментарий #3)
> > Если вы считаете, что проблемы в этом нет, давайте задачу закроем.
> 
> Там в явном виде:
> from _sqlite3 import *
> в файле
> python3/Lib/sqlite3/dbapi2.py
> 
> То есть он сам его порождает и сам им же пользуется. С точки зрения логики
> никаких проблем. Проблема в том, что это "видно снаружи"? Пожалуй, но вряд
> ли это проблема rpm-build-python3, потому что тут всё честно.
> 
> Можно попробовать "спрятать" такое поведение макросами типа req_skip и
> filter_from_provides, но стоит ли?
Если _sqlite3 это действительно внутренняя библиотека, я бы не стал её показывать наружу во избежание каких-то недоразумений. Но наверное, это просто перестраховка, поэтому предлагаю закрыть задачу :)