Bug 39229 - Дубликаты: dogtail и dogtail3
Summary: Дубликаты: dogtail и dogtail3
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: dogtail3 (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-09 02:15 MSK by Vitaly Lipatov
Modified: 2021-07-13 18:10 MSK (History)
4 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 2020-11-09 02:15:11 MSK
Юрий, вы собрали dogtail3 во времена, когда dogtail ещё был собран с python2.
Мне кажется важным оставить прежнее название dogtail для пакета, но спек у вас получше будет. Если вам интересно сопровождение dogtail, может быть, согласитесь вести пакет, сделав для dogtail3 obsoletes?
Comment 1 Dmitry V. Levin 2020-11-12 18:49:10 MSK
$ apt-cache showpkg 'python3(dogtail.utils)'
Package: python3(dogtail.utils)
Versions: 

Reverse Depends: 
  evolution-tests,python3(dogtail.utils) 0
Dependencies: 
Provides: 
Reverse Provides: 
dogtail3 0.9.11-alt1:sisyphus+238040.100.1.1@1569258250
dogtail 0.9.11-alt2:sisyphus+239600.100.2.1@1571813863

Буду признателен, если останется только один провайдер.
Comment 2 Vitaly Lipatov 2020-11-12 19:06:31 MSK
(Ответ для Dmitry V. Levin на комментарий #1)
...
> Буду признателен, если останется только один провайдер.

Более того, dogtail это не модуль python, поэтому в нём должно быть AutoProv: no
Если всё же кому-то нужен dogtail как модуль, придётся его положить в python3-module-dogtail.

Дмитрий, а нельзя ли запретить пакеты, которые предоставляют модули в то время как не должны их предоставлять в силу своего названия?

Например, чтобы не прошёл dogtail, который предоставляет python3(dogtail), потому что это допустимо только для python3-module ?
Comment 3 Dmitry V. Levin 2020-11-12 19:30:03 MSK
(In reply to Vitaly Lipatov from comment #2)
> (Ответ для Dmitry V. Levin на комментарий #1)
> ...
> > Буду признателен, если останется только один провайдер.
> 
> Более того, dogtail это не модуль python, поэтому в нём должно быть
> AutoProv: no
> Если всё же кому-то нужен dogtail как модуль, придётся его положить в
> python3-module-dogtail.
> 
> Дмитрий, а нельзя ли запретить пакеты, которые предоставляют модули в то
> время как не должны их предоставлять в силу своего названия?
> 
> Например, чтобы не прошёл dogtail, который предоставляет python3(dogtail),
> потому что это допустимо только для python3-module ?

Эта проверка была давно реализована в sisyphus_check, но она, оказывается, работала неправильно.  Теперь, если её починить, неопределённое множество пакетов будет забраковано.
Comment 4 Vitaly Lipatov 2020-11-12 20:46:57 MSK
(Ответ для Dmitry V. Levin на комментарий #3)
> (In reply to Vitaly Lipatov from comment #2)
> > (Ответ для Dmitry V. Levin на комментарий #1)
> > ...
> > > Буду признателен, если останется только один провайдер.
> > 
> > Более того, dogtail это не модуль python, поэтому в нём должно быть
> > AutoProv: no
> > Если всё же кому-то нужен dogtail как модуль, придётся его положить в
> > python3-module-dogtail.
> > 
> > Дмитрий, а нельзя ли запретить пакеты, которые предоставляют модули в то
> > время как не должны их предоставлять в силу своего названия?
> > 
> > Например, чтобы не прошёл dogtail, который предоставляет python3(dogtail),
> > потому что это допустимо только для python3-module ?
> 
> Эта проверка была давно реализована в sisyphus_check, но она, оказывается,
> работала неправильно.  Теперь, если её починить, неопределённое множество
> пакетов будет забраковано.
Может быть, имеет смысл её включить (для python) после того, как количество несобирающихся сейчас пакетов упадёт до нескольких?
Comment 5 Dmitry V. Levin 2020-11-12 20:52:10 MSK
(In reply to Vitaly Lipatov from comment #2)
> (Ответ для Dmitry V. Levin на комментарий #1)
> ...
> > Буду признателен, если останется только один провайдер.
> 
> Более того, dogtail это не модуль python, поэтому в нём должно быть
> AutoProv: no
> Если всё же кому-то нужен dogtail как модуль, придётся его положить в
> python3-module-dogtail.

Вообще пакетов, состоящих из модуля python и трёхстрочного executable в /usr/bin/, не так уж и мало; выключать autoprov для них было бы неправильно.
Comment 6 Vitaly Lipatov 2020-11-12 21:02:08 MSK
(Ответ для Dmitry V. Levin на комментарий #5)
...
> Вообще пакетов, состоящих из модуля python и трёхстрочного executable
> в /usr/bin/, не так уж и мало; выключать autoprov для них было бы
> неправильно.
По некой воле у нас в site-packages ставятся и модули, которые могут быть использованы другими, и внутренние модули программ.
Эти модули программ не предназначены для стороннего использования и не должны предоставляться автоматически. Поэтому именно что правильно выключать для них autoprov. Я сделал так уже для многих пакетов (в т.ч. calibre и matrix-synapse), это избавило нас от он множестве ненужных provides, которые, к тому же, вызывают ложные зависимости на них.

Хорошо, если ваше замечание не относится к части python, какие provides вы ожидаете от трёхстрочного executable, что их нельзя выключать?
Comment 7 Dmitry V. Levin 2020-11-12 21:08:45 MSK
(In reply to Vitaly Lipatov from comment #6)
> (Ответ для Dmitry V. Levin на комментарий #5)
> ...
> > Вообще пакетов, состоящих из модуля python и трёхстрочного executable
> > в /usr/bin/, не так уж и мало; выключать autoprov для них было бы
> > неправильно.
> По некой воле у нас в site-packages ставятся и модули, которые могут быть
> использованы другими, и внутренние модули программ.

Для внутренних модулей используются другие каталоги.
Comment 8 Vitaly Lipatov 2020-11-12 21:20:48 MSK
(Ответ для Dmitry V. Levin на комментарий #7)
> (In reply to Vitaly Lipatov from comment #6)
> > (Ответ для Dmitry V. Levin на комментарий #5)
> > ...
> > > Вообще пакетов, состоящих из модуля python и трёхстрочного executable
> > > в /usr/bin/, не так уж и мало; выключать autoprov для них было бы
> > > неправильно.
> > По некой воле у нас в site-packages ставятся и модули, которые могут быть
> > использованы другими, и внутренние модули программ.
> 
> Для внутренних модулей используются другие каталоги.
Не могу согласиться с этим утверждением.

Также в пакете cvise я добавил
%add_python3_lib_path %_datadir/cvise

для того, чтобы получить зависимости на python3 модули из расположенного там кода. Как я понимаю, это приводит также к тому, что оттуда начинают провайдится модули python:


 $ rpm -q --provides -p cvise-1.9.0-alt1.x86_64.rpm
python3(cvise) = set:ed17
python3(passes) = set:ed17

 $ rpm -qlp cvise-1.9.0-alt1.x86_64.rpm
/usr/share/cvise/cvise.py
/usr/share/cvise/passes
Comment 9 Dmitry V. Levin 2020-11-12 21:26:29 MSK
(In reply to Vitaly Lipatov from comment #8)
> Также в пакете cvise я добавил
> %add_python3_lib_path %_datadir/cvise
> 
> для того, чтобы получить зависимости на python3 модули из расположенного там
> кода. Как я понимаю, это приводит также к тому, что оттуда начинают
> провайдится модули python:
> 
>  $ rpm -q --provides -p cvise-1.9.0-alt1.x86_64.rpm
> python3(cvise) = set:ed17
> python3(passes) = set:ed17

Это версионированные Provides, их не найдёт обычный Requires: python3(cvise) < 0.
Comment 10 Repository Robot 2021-07-13 18:10:42 MSK
Task sisyphus/#278759 message:

remove duplicate package (ALT bug 39229)