Bug 40737 - Зависит сам от себя
Summary: Зависит сам от себя
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: python3 (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Grigory Ustinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-15 03:42 MSK by Vitaly Lipatov
Modified: 2021-09-08 19:41 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 это действительно внутренняя библиотека, я бы не стал её показывать наружу во избежание каких-то недоразумений. Но наверное, это просто перестраховка, поэтому предлагаю закрыть задачу :)